有3台机器和一个出版商,两个消费者。 我正在使用golang向某台机器发布订单。 该机器使用python作为消费者。 我想知道怎样才能得到订单在publisher中完成或失败的结果。在
如果订单不属于机器一,我该怎么办? 释放还是埋葬?在
Python: 消费者:
import beanstalkc
def get_beanstalk_data(conf):
beanstalk = beanstalkc.Connection(host='127.0.0.1',port=11300)
beanstalk.use('cloud')
beanstalk.watch('cloud')
beanstalk.ignore('default')
job = beanstalk.reserve()
if job.body == "one": #job.body == "two"
#TODO
job.delete()
return job.body
else:
#TODO what should I do in here, because there is two consumer and get different orders
while True:
data = get_beanstalk_data(conf)
print data
高朗: 发布:
^{pr2}$
让publisher知道作业状态的正确方法是使用回调
通过job让发布者放置一个回调url(队列或http),当作业成功或失败时,使用者可以向状态回调发送状态消息
因此,工作结构可能隐约可见
上面的结构的json strng将是作业尸体。那个{cdbd>消费者将获得
试图按要求的细节进行解释
让我们调用}。在
producer
和consumer(s)
master
和{当作业可用时,master将创建一个
job object
,它具有其中一个工人在听队列
reserve
工作,那里有人告诉我将试着去做这项工作delete
将队列中的作业发送到CallbackURLdelete
作业现在这个对象被转换成json并放入队列中
注意:在成功完成之前不要删除作业。完成或永久失败时,只删除作业
相关问题 更多 >
编程相关推荐