我在kombu有两个队列;一个提交请求(执行某些操作),另一个通过pub/sub提取所述请求的增量状态。因此在我的过程中它将发布到请求队列并在响应队列中消耗。由于任务可能需要一些时间,因此我想向用户提供关于后端中发生的事情的反馈;它们都工作在命令行中,我的海带consume
回调允许我,说,加logging.info()
语句信息吐回我的用户:但是django和kombu的流视图
def callback(msg, env):
logging.info(str(msg))
consumer.register_callback(callback)
consumer.consume()
while continue_consuming:
connection.drain_events()
,我现在希望能够提供相同的在Django的功能。我知道我可以创建一个generator
功能输入到HttpResponse
对象:
def view(reqeust):
HttpResponse(gen())
def gen():
yield 'streaming... '
,但我不能概念化,我怎么能实现海带队列中的消息回调到一个发电机来提供这个...任何想法?
我想避免使用数据库层来存储进度/结果,如果可能的话。