栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Celery-Django应用程序中监视来自工人的事件?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Celery-Django应用程序中监视来自工人的事件?

好的,尽管我不确定这是否是解决方案,但我找到了一种解决方法,但是对我有用。监视功能基本上直接连接到代理,并侦听不同类型的事件。我的代码如下所示:

from celery.events import EventReceiverfrom kombu import Connection as BrokerConnectiondef my_monitor:    connection = BrokerConnection('amqp://guest:guest@localhost:5672//')    def on_event(event):        print "EVENT HAPPENED: ", event    def on_task_failed(event):        exception = event['exception']        print "TASK FAILED!", event, " EXCEPTION: ", exception    while True:        try: with connection as conn:     recv = EventReceiver(conn,handlers={'task-failed' : on_task_failed,          'task-succeeded' : on_event,          'task-sent' : on_event,          'task-received' : on_event,          'task-revoked' : on_event,          'task-started' : on_event,          # OR: '*' : on_event          }) recv.capture(limit=None, timeout=None)    except (KeyboardInterrupt, SystemExit):        print "EXCEPTION KEYBOARD INTERRUPT"        sys.exit()

这是所有的了。而且我在与正常应用程序不同的过程中运行此程序,这意味着我为我的celery应用程序创建了一个子进程,该子进程仅运行此功能。高温超导



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/626411.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号