Development #52355
agent/authentic2: ne provisionner que si la transaction courante commit
Début:
24 mars 2021
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
Pour éviter un provisionnement sur un import --dry-run
dans authentic.
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
- Lié à Development #51462: l'import --dry-run provoque quand même les appels aux signaux (et donc le provisionning) ajouté
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
- Fichier 0001-agent-authentic2-mark-object-for-provisionning-if-tr.patch 0001-agent-authentic2-mark-object-for-provisionning-if-tr.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Un poil plus complexe: il y a deux cas :
1.
with atomic(): ... with engine: ...
dans ce cas le provisionning est entièrement encadré par une transaction, c'est le processus de provisionning lui même qui est soumis à la condition "on_commit", pour cela on note dans le contexte la valeur de
connexion.in_atomic_block
pour savoir si on est dans ce cas; ça ne nécessite rien de particulier au moment de add_saved/deleted
.2.
with engine: ... with atomic(): ... with atomic(): ...
ici ce sont les signaux de créations/suppressions de modèles qui se passent dans des transactions, dans ce cas on gère la condition
on_commit
au niveau de add_saved/deleted
.Mis à jour par Valentin Deniaud il y a presque 3 ans
- Statut changé de Solution proposée à Solution validée
Ça me semble bon et j'ai fait tourner la branche quelque temps sans pb.
Mis à jour par Benjamin Dauvergne il y a presque 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 1a02b24d14e6643991918252652498ab65946202 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Wed Mar 24 21:13:12 2021 +0100 agent/authentic2: mark object for provisionning if transaction commit (#52355)
Mis à jour par Frédéric Péters il y a presque 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
agent/authentic2: mark object for provisionning if transaction commit (#52355)