Service 更改beanstalkd默认TTR

Service 更改beanstalkd默认TTR,service,beanstalkd,beanstalkc,Service,Beanstalkd,Beanstalkc,我使用标准的/etc/default/beanstalkd作为服务运行beanstalkd 有时,当我尝试删除作业时,我的代码会抛出一个NOT\u FOUND错误,因为它由于超出TTR而被释放。我想增加所有插入管道的作业的TTR 有没有办法为beanstalkd作业设置默认TTR?我猜我可以在/etc/default/beanstalkd中的某个地方更改它,但我在beanstalkd文档中找不到它。没有办法在/etc/default/beanstalkd或其他地方设置全局默认值,但是,设置一个包

我使用标准的
/etc/default/beanstalkd
作为服务运行
beanstalkd

有时,当我尝试删除作业时,我的代码会抛出一个
NOT\u FOUND
错误,因为它由于超出TTR而被释放。我想增加所有插入管道的作业的TTR


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

没有办法在/etc/default/beanstalkd或其他地方设置全局默认值,但是,设置一个包装器函数/类是很容易的,所有作业都将通过该函数/类插入到队列中,如果没有特别设置,则可以设置一个TTR(PUT命令的参数)

在beanstalkc中,这将覆盖/替换
put
函数

def put(self, body, priority=DEFAULT_PRIORITY, delay=0, ttr=DEFAULT_TTR):

我觉得你没有正确地执行协议。您需要尽快处理
截止日期
,并触摸
按钮

最后期限是什么意思?

DEADLINE\u SOON
是对reserve命令的响应,该命令指示您保留了一个作业,该作业的最后期限为real SOON(当前安全裕度约为1秒)

如果您经常收到“代码>死线> 保留错误,您应该考虑在工作中增加TTR,因为它通常指示您没有及时完成任务。也可能是您在完成任务后未能删除任务

有关更多信息,请参阅

TTR是如何工作的?

TTR
仅适用于保留的作业。在该事件中,计时器(作业统计中称为“剩余时间”)开始从作业的
TTR
倒计时

  • 如果计时器达到零,作业将被放回就绪队列
  • 如果作业在计时器用完之前被掩埋、删除或释放,计时器将停止存在
  • 如果在计时器达到零之前触摸作业,计时器将从TTR开始倒计时
触摸”命令

允许工作人员请求更多的工作时间。 这对于那些可能需要很长时间,但您仍然希望
TTR
将工作从没有反应的员工手中抽离的好处。员工 可能会定期通知服务器它仍处于活动状态并正在处理作业 (例如,它可能在
截止日期\u SOON
)执行此操作。该命令推迟自动 释放保留作业,直到发出命令后的
TTR