0

我正在研究使用 apex 调度程序来运行批处理作业。我们可以随时运行它,比如凌晨 3 点,当流量很低时,但我试图预测一些“哦,废话”的场景。你们能帮我回答这些问题吗?

设置:

当用户修改一个区域时,可以更新 100k 的记录。

问题:

  1. 有哪些实际情况会导致我的工作无法终止?我想到了一个场景——当用户正在编辑一个恰好在其中一个批次中的联系人正在运行时。

  2. 处理不会终止的工作有哪些好的做法?我正在考虑在此之后 2 小时安排另一个批处理作业,但我看不到我的老板喜欢这样。我想过也许在 finish() 方法中做点什么——但不知道具体是什么。

4

1 回答 1

0
  1. 批次中的任何错误都将阻止该批次正确完成。
  2. 我建议您进行某种检查以了解您处理了所有内容。我通常用于批次的是以某种方式标记需要处理的记录,以将它们与不需要处理的记录区分开来。当我完成处理一个批次时,我将记录标记为已处理。然后,您可以检查 finish() 方法是否仍有任何记录需要处理并重新安排批处理以再次运行。
于 2012-06-18T01:13:49.380 回答