Salesforce Apex并发建议

Salesforce Apex并发建议,salesforce,apex-code,Salesforce,Apex Code,我有一个入站电子邮件处理程序正在工作。然而,现在我担心并发问题,当一个用户同时为同一个对象发送两封电子邮件时。(我有一个业务文档表单和一个发送给salesforce的技术文档表单。)它们包含不同的内容,除了公司名称(它们是从其他人直接发送给salesforce的) 因为我在最后插入了自定义对象,所以我担心并发性问题。这会发生吗?我的入站电子邮件处理程序为同一家公司创建了两个自定义对象,两个对象只填充了一半的信息 如果是这样,如何防止并发问题的发生? 目前的想法: -立即使用关联帐户而不是在最后查

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

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

如果是这样,如何防止并发问题的发生? 目前的想法: -立即使用关联帐户而不是在最后查询自定义_对象。如果自定义_对象不存在,请创建一个

干杯

Kuen

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

  • 可调度Apex允许您定期(每天、每周或任何时候)检查现有帐户中是否存在两个自定义对象,然后使用标准合并将它们合并在一起。缺点是用户可能会看到这两个对象,直到您的进程有时间合并它们。可以将其视为“垃圾收集器”或“清理过程”类型的模型
  • 您可以使用一种入站电子邮件类型作为“主”表单,然后以异步方法处理另一种(例如,技术文档)。您将增加按正确顺序处理它们的机会,但无法保证
  • 您的方式(查询优先)也完全正确,不过,您的查询在插入对象后可能无法“捕获”该对象,否则,您将完全错过它 在你的情况下,我可能会做2次,然后3次的组合来清理你错过的任何东西

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

  • 可调度Apex允许您定期(每天、每周或任何时候)检查现有帐户中是否存在两个自定义对象,然后使用标准合并将它们合并在一起。缺点是用户可能会看到这两个对象,直到您的进程有时间合并它们。可以将其视为“垃圾收集器”或“清理过程”类型的模型
  • 您可以使用一种入站电子邮件类型作为“主”表单,然后以异步方法处理另一种(例如,技术文档)。您将增加按正确顺序处理它们的机会,但无法保证
  • 您的方式(查询优先)也完全正确,不过,您的查询在插入对象后可能无法“捕获”该对象,否则,您将完全错过它
    在你的情况下,我可能会做2次,然后3次的组合来清理你错过的任何东西

    我真的要看看我是否能让他们填写谷歌表格,然后汇总表格,只发送一封电子邮件。但是,如果这不起作用,我会这样做。使用3(向上插入),然后使用1进行每日检查以合并对象。谢谢你的建议!我真的要看看我是否能让他们填写谷歌表格,然后汇总表格,只发送一封电子邮件。但是,如果这不起作用,我会这样做。使用3(向上插入),然后使用1进行每日检查以合并对象。谢谢你的建议!