Question

J'ai un gestionnaire d'e-mails entrants qui fonctionne. Cependant, en ce moment je suis inquiet au sujet de problèmes de concurrence, lorsqu'un utilisateur envoie 2 e-mails en même temps pour le même objet. (J'ai une forme de documents d'affaires, et une forme de document technique qui est envoyé à Salesforce.) Ils contiennent des choses différentes, à l'exception du nom de la société (Ils sont envoyés au-dessus de quelqu'un d'autre directement à Salesforce).

Depuis que je fais un insert de mon objet personnalisé à la fin, je suis inquiet au sujet de problèmes de concurrence. Est-ce que jamais se produire ce? Mon gestionnaire d'e-mails entrants crée 2 objets personnalisés pour la même entreprise et à la fois le remplissage dans la moitié des informations.

Si oui, comment puis-je éviter un problème de concurrence ne se produise? IDÉES: - Faites une requête pour custom_object tout de suite avec le compte associé plutôt qu'à la fin. Si le custom_object n'existe pas, en créer un.

Cheers,

Kuen

Était-ce utile?

La solution

« Concurrency » dans le sens traditionnel du terme, est rarement un problème sur la plate-forme. Chacun de vos courriels lié à-va créer un processus distinct (gestionnaire) sur la plate-forme et fonctionnent indépendamment. Vous avez deux options pour faire face à votre scénario de messagerie en plusieurs parties mais si vous cherchez à les combiner:

  1. planifiables Apex vous permettra d'examiner régulièrement (tous les jours, toutes les semaines, peu importe) vérifier vos comptes existants pour l'existence de deux objets personnalisés, puis utilisez une fusion standard pour les réunir. L'inconvénient est que vos utilisateurs peuvent voir les deux objets jusqu'à ce que votre processus a eu le temps de les fusionner. Pensez-y comme un type de modèle « garbage collector » ou «le processus de nettoyage.
  2. Vous pouvez utiliser un type de courrier électronique entrant comme la forme « principale », traiter puis l'autre (par exemple, la technologie doc) dans une méthode asynchrone. Vous vos chances de les avoir processus dans l'ordre, mais il n'y a aucune garantie.
  3. Votre (la première requête) est également tout à fait bien, mais encore une fois, votre requête ne peut pas « attraper » l'objet après son été inséré, et sinon, vous risquez de manquer complètement.

Dans vos chaussures, je ferais probablement une combinaison de 2, puis 3 pour nettoyer tout que vous manquez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top