Projet

Général

Profil

Development #52355

agent/authentic2: ne provisionner que si la transaction courante commit

Ajouté par Benjamin Dauvergne il y a environ 3 ans. Mis à jour il y a presque 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
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

Lié à Authentic 2 - Development #51462: l'import --dry-run provoque quand même les appels aux signaux (et donc le provisionning)Fermé25 février 2021

Actions

Révisions associées

Révision 1a02b24d (diff)
Ajouté par Benjamin Dauvergne il y a presque 3 ans

agent/authentic2: mark object for provisionning if transaction commit (#52355)

Historique

#1

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é
#2

Mis à jour par Benjamin Dauvergne il y a environ 3 ans

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.

#3

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.

#4

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)
#5

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

Formats disponibles : Atom PDF