如何在 sidekiq 中设置作业超时

How set timeout for jobs in sidekiq

我在使用 sidekiq 时遇到问题:
我想为作业设置超时,这意味着当作业的处理时间大于超时时,该作业将停止。

我已经在文件 sidekiq.yml.
中搜索了如何设置全局超时配置,但我想为不同的单独作业设置单独的超时,这意味着 类 之一来定义工作人员将有特定的超时配置。
你能帮帮我吗?
非常感谢。

没有批准的方法来执行此操作。您无法在线程执行时安全地停止它。您需要更改工作以定期检查它是否应该停止。

您可以为您正在进行的任何第 3 方呼叫设置网络超时,以便它们超时。

您可以将作业代码包装在超时块中,如下所示:

超时::超时(2.hours) 做

  ***.  do possibly long-running task *****

结束

作业将在 2 小时后自动失败。