谢谢你的阅读。在
我使用Python 2.7
,beanstalkd server
和{
根据作业的大小,处理每个作业大约需要500到1500毫秒。在
我有一个cron
作业,它将不断向beanstalkd队列添加作业,还有一个“worker”将在无限循环中运行,获取作业并处理它们。在
例如:
def get_job(self):
while True:
job = self.beanstalk.reserve(timeout=0)
if job is None:
timeout = 10 #seconds
continue
else:
timeout = 0 #seconds
self.process_job(job)
这将导致"timed out"
异常。在
这是从队列中抽出工作的最佳实践吗?在
有人能帮我一下吗?在
调用
beanstalk.reserve(timeout=0)
意味着等待0秒,作业才可用, 所以除非已经有工作,否则会立即超时 当它被调用时在队列中。如果你不想让它超时, 使用timeout=None
(或者省略超时参数,因为默认值是None
)。在相关问题 更多 >
编程相关推荐