134得票13回答
如何在Celery中检查任务状态?

如何检查Celery中的任务是否正在运行(具体而言,我正在使用celery-django)?我已阅读文档并进行了谷歌搜索,但我没有找到类似这样的调用:my_example_task.state() == RUNNING 我的使用情况是我有一个外部(java)转码服务。当我发送要进行转码的文档时...

97得票3回答
我该如何在Shell中手动运行Celery定时任务?

我正在使用celery和django-celery。我定义了一个定期任务,希望进行测试。是否可以从shell手动运行定期任务以便查看控制台输出?

88得票3回答
使用指数退避重新尝试Celery任务

对于这样的任务:from celery.decorators import task @task() def add(x, y): if not x or not y: raise Exception("test error") return self.wai...

81得票4回答
Django Celery 日志最佳实践

我正在尝试将Celery日志记录与Django集成。 我在settings.py中设置了输出到控制台的日志记录(因为我正在使用Heroku托管,这个功能正常工作)。 在每个模块的顶部,我写了以下代码: import logging logger = logging.getLogger(__n...

75得票1回答
不同创建celery任务的方式有什么区别?

我很困惑于不同的创建celery任务的方法。表面上它们都能正常工作,那么有人能解释一下这些方法之间的区别吗? 1. from myproject.tasks import app @app.task def foo(): pass 2. from celery import...

68得票10回答
检测Celery是否可用/运行

我正在使用Celery管理异步任务。偶尔,Celery进程会崩溃,导致无法执行任何任务。我想检查Celery的状态,确保一切正常运行,如果检测到问题,向用户显示错误消息。根据Celery Worker文档,我似乎可以使用ping或inspect来实现这一点,但ping感觉像是 hacky的方式...

59得票14回答
主机名首次更改后,rabbitmq-server无法启动

我正在为我的Django项目使用django-celery。昨天我更改了计算机的主机名(我正在使用Ubuntu 12.04,编辑了文件“/etc/hostname”),在下一次重启后,django-celery失败并显示错误。Consumer: Connection Error: [Errno...

57得票5回答
使用类方法作为Celery任务

我正在尝试将类的方法用作django-celery任务,并使用@task装饰器进行标记。与Anand Jeyahar提出的问题here描述的情况相同。class A: @task def foo(self, bar): ... def main(): ...

54得票3回答
Celery无法使用redis

尝试首次启动Celery时出现以下错误,我已经安装了Redis并且它运行正常,但某种方式Django似乎与其存在问题。 第一次启动Celery时出现错误,已安装Redis并且它正常运行,但Django似乎仍然无法使用它。File "<frozen importlib._boo...

53得票2回答
使用Celery运行定时任务相比于使用crontab有什么优势?

考虑到Celery已经是运行任务队列的堆栈的一部分(即它不仅仅是为了运行cron而添加,这似乎是过度设计),那么它的“周期性任务”功能如何作为crontab的替代品是有益的呢?具体来说,以下是需要考虑的几个方面。 与crontab相比的主要优劣势 使用Celery比crontab更好的场景...