Cumul cluster (Modèle)
De Wiki1000
(Différences entre les versions)
(→Création des cumuls par le framework) |
(→Création des cumuls par le code métier) |
||
(3 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 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. | + | 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 | + | 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 : | Voir aussi : |
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.
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 : 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 :