0

我有一个正在工作的入站电子邮件处理程序。但是,现在我担心并发问题,当用户同时为同一个对象发送 2 封电子邮件时。(我有一个业务文档表格和一个发送给salesforce的技术文档表格。)它们包含不同的东西,除了公司名称(它们是从其他人直接发送给salesforce的)。

由于我在最后插入了我的自定义对象,所以我担心并发问题。这会发生吗?我的入站电子邮件处理程序为同一家公司创建了 2 个自定义对象,并且都只填写了一半的信息。

如果是这样,我怎样才能防止并发问题的发生?当前想法: - 立即使用关联帐户而不是最后查询 custom_object。如果 custom_object 不存在,则创建一个。

干杯,

4

1 回答 1

3

传统意义上的“并发”,很少是平台上的问题。您的每封入站电子邮件都将在平台上创建一个单独的进程(处理程序)并独立运行。您有几个选项来处理您的多部分电子邮件场景,但如果您希望将它们组合起来:

  1. 可调度 Apex 将允许您定期(每天、每周等)检查现有帐户是否存在两个自定义对象,然后使用标准合并将它们组合在一起。缺点是您的用户可能会看到这两个对象,直到您的流程有时间合并它们。将其视为“垃圾收集器”或“清洁过程”类型的模型。
  2. 您可以使用一种入站电子邮件类型作为“主要”表单,然后以异步方法处理另一种(例如技术文档)。您将有机会以正确的顺序处理它们,但不能保证。
  3. 您的方式(首先查询)也完全没问题,但同样,您的查询在插入对象后可能不会“捕获”对象,如果没有,您将完全错过它。

在你的鞋子里,我可能会做 2 和 3 的组合来清理你错过的任何东西。

于 2010-11-09T22:28:06.570 回答