Cumul cluster (Modèle)

De Wiki1000
(Différences entre les versions)
(Page créée avec « L'option "Gérer ce cumul en mode cluster" permet de se prémunir contre la création de doublon de cumul par des utilisateurs concurrents. Ce cas est particulièrement ... »)
 
(Création des cumuls par le code métier)
 
(5 révisions intermédiaires par un utilisateur sont masquées)
Ligne 12 : Ligne 12 :
 
* Si la création échoue, du fait que le cumul a déjà été créée par un autre processus, recherche du cumul existant.
 
* Si la création échoue, du fait que le cumul a déjà été créée par un autre processus, recherche du cumul existant.
  
La création d'un doublon '''DOIT''' échouer, il est donc impératif de définir une '''clé unique''' sur les critères du cumul.
+
La création d'un doublon dans la base de données '''DOIT''' échouer, il est donc impératif de définir une [[Règles_uniques_(model)|'''clé unique''']] sur les critères du cumul.
 +
 
 +
{{tip|Si les critères contiennent des références qui peuvent être nulle, la clé unique doit utiliser l'option "Indexer les références nulles"}}
  
 
===Création des cumuls par le code métier===
 
===Création des cumuls par le code métier===
Dans certain cas le code métier crée lui-même les cumuls. Il doit alors utiliser la même stratégie et utiliser l'API [[FindOrCreate_(CM)|FindOrCreate]].
+
Dans certain cas le code métier crée lui-même les cumuls avant que les cumuls ne soient effectivement alimentés; dans ce cas, Il doit appliquer la même stratégie en utilisant l'API [[FindOrCreate_(CM)|FindOrCreate]].
  
 +
Voir aussi :
 +
* [[Cumuls (model)|Cumuls]]
 +
* [[FindOrCreate (CM)|FindOrCreate]]
  
 
[[Category:Modèle]]
 
[[Category:Modèle]]
 
[[Category:Version710]]
 
[[Category:Version710]]

Version actuelle en date du 18 septembre 2017 à 14:13

L'option "Gérer ce cumul en mode cluster" permet de se prémunir contre la création de doublon de cumul par des utilisateurs concurrents.

Ce cas est particulièrement probable dans le cas de traitements d'import concurrents en mode cluster.

Tip-20px.png Tip : Cette option doit être complétée par l'ajout d'une clé unique sur les critères du cumul.

Création des cumuls par le framework

Lorsque le cumul est défini en mode cluster, le framework effectue une opération en deux temps, de type FindOrCreate, pour créer un nouveau cumul :

  • Création du nouveau cumul dans une transaction séparée.
  • Si la création échoue, du fait que le cumul a déjà été créée par un autre processus, recherche du cumul existant.

La création d'un doublon dans la base de données DOIT échouer, il est donc impératif de définir une clé unique sur les critères du cumul.

Tip-20px.png Tip : Si les critères contiennent des références qui peuvent être nulle, la clé unique doit utiliser l'option "Indexer les références nulles"

Création des cumuls par le code métier

Dans certain cas le code métier crée lui-même les cumuls avant que les cumuls ne soient effectivement alimentés; dans ce cas, Il doit appliquer la même stratégie en utilisant l'API FindOrCreate.

Voir aussi :

Outils personnels