如何以其他用户身份从 apex 安排作业

问题描述 投票:0回答:1

我有一个顶点代码,可以在创建联系人时创建计划作业。它在创建后运行 5 分钟。它修改了联系人上的某些内容,当它执行此操作时,它会显示我的“上次修改”。我怎样才能让它作为我们的自动化帐户名运行?

这是代码:

        String cronExp = System.now().addMinutes(5).format('s m H d M \'?\' yyyy');
        System.schedule('Send SMS for New Contacts - ' + DateTime.now(), cronExp, new SendTwilioSMSNewContacts(contactIds));
salesforce
1个回答
0
投票
  1. 将其转换为由您的专用用户提交的计划批处理作业。安排 12 次会有点痛苦(在 5 点、10 点运行……),但是哦,好吧。在作业的 start() 方法中,输入上一小时(?)创建的尚未发送短信的联系人的条件。

或者

  1. 了解有关平台事件的信息。将您的代码转换为引发平台事件,然后使用触发器对其进行处理(您可以决定是要立即发送短信、还是在创建联系人后几秒钟发送短信,还是仍安排在事件处理后 5 分钟发送短信)。然后阅读“平台事件订阅者配置”(https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_platformeventsubscriberconfig.htm)。您需要制作和部署的特殊文件,无法在 UI 中制作。让您指定事件应该以谁的身份运行(以及每个事务中处理多少个事件,如果您要进行标注,这可能很有用)
© www.soinside.com 2019 - 2024. All rights reserved.