在beanstalk队列中搜索

时间:2013-12-16 07:03:16

标签: python beanstalkd beanstalkc

我有一个用例,需要在beanstalk队列中放置两种不同类型的作业,比如类型a和类型b。每当新的一个到来时我就把类型写成一个工作,但对于类型b,我希望一次在队列中应该有一个类型为b的作业(队列中不应该有两个或更多类型为b的作业)。当我在队列中插入类型b作业时,我首先要检查队列中是否有任何类型的b作业?如果是,则延迟该作业,不要插入新作业。如果队列中没有类型b作业,请插入一个新作业。那么可以在beanstalk队列中搜索作业吗?

1 个答案:

答案 0 :(得分:1)

不,你不能搜索队列(Beanstalkd称他们为'管'),只能得到一份工作(虽然你可以PEEK,看看下一份工作是什么)。

由于您可以一次观看多个管(并根据优先级和年龄从任何一个管中获取作业),您可以创建一个只包含b类作业的管。然后它变成一个简单的计数 - stats-tube [tube-name(例如'type-b-jobs')] 。如果该管有一个工作,这是一个典型的工作,所以你可以继续使用type-a工作。