更改beantalkd默认TTR

TTT*_*TTT 4 service beanstalkd beanstalkc

beanstalkd使用标准服务运行/etc/default/beanstalkd

有时,NOT_FOUND当我尝试删除作业时,我的代码会引发错误,因为它由于超出TTR而被释放。我想增加插入试管中的所有作业的TTR 。

有没有办法为beanstalkd作业设置默认的TTR ?我的猜测是我可以在/ etc / default / beanstalkd中的某个地方更改它,但是我在beanstalkd文档中找不到。

Pen*_*m10 5

在我看来,您没有正确实施该协议。您需要处理DEADLINE_SOON,然后做TOUCH

DEADLINE_SOON是什么意思?

DEADLINE_SOON 是对保留命令的响应,该命令指示您有一个保留的工作,其截止日期很快就到了(当前安全裕度约为1秒)。

如果您经常收到DEADLINE_SOON预留的错误,则可能应该考虑增加工作的TTR,因为这通常表明您没有及时完成这些工作。也有可能是您在完成任务后未能删除它们。

有关更多信息,请参见邮件列表讨论

TTR如何运作?

TTR仅适用于保留后的作业。在那种情况下,计时器(在作业统计信息中称为“剩余时间”)开始从作业的倒计时TTR

  • 如果计时器达到零,则作业将返回到就绪队列中。
  • 如果在计时器用尽之前掩埋,删除或释放了作业,则计时器将不复存在。
  • 如果在计时器达到零之前触摸了作业,则计时器从TTR开始倒计时。

“触摸”命令

允许工人请求更多的时间来工作。这对于可能需要很长时间的工作很有用,但是您仍然希望TTR从无响应的工人那里撤出工作的好处。工人可以定期告诉服务器它仍然存在并且正在处理作业(例如,可以在上执行此操作DEADLINE_SOON)。该命令将保留作业的自动释放推迟到TTR发出命令后的几秒钟。