所以在我之前的项目中我使用了django-celery
,但在我当前的项目中,我使用的是celery
,因为djcelery THIS PROJECT IS NO LONGER REQUIRED
我使用Redis作为我的后端,我想跟踪已经执行的所有任务,以便将来我可以进行一些比较,例如以前用于完成任务的平均时间6几个月前和现在。
我知道有像flower
这样的应用程序,但我发现它有点儿麻烦,我不确定任务是否已保存。我需要一些更可靠的东西,即使这意味着创建我自己的模型并强制芹菜保存任务和我想要的参数并在管理员中阅读。
这种方法是正确的还是有内置的芹菜方式来跟踪这些信息?
欢呼声
答案 0 :(得分:0)
我仍在使用django-celery
和最新版本的Celery,因为它运行良好(Django 1.6和1.7)。它不再需要了,但你仍然可以使用它。 celerycam管理命令易于使用,可以对任务进行管理监控。
如果你正在采取正式的做事方式,我看不到比the celery documentation更好的
django-celery celerycam
似乎使用celery控制台事件查看器来完成它的工作(下面的代码)。然而,管理集成似乎是djcelery的唯一工作。看看djcelery/admin.py
from __future__ import absolute_import, unicode_literals
from celery.bin import events
from djcelery.app import app
from djcelery.management.base import CeleryCommand
ev = events.events(app=app)
class Command(CeleryCommand):
"""Run the celery curses event viewer."""
options = (CeleryCommand.options
+ ev.get_options()
+ ev.preload_options)
help = 'Takes snapshots of the clusters state to the database.'
def handle(self, *args, **options):
"""Handle the management command."""
options['camera'] = 'djcelery.snapshot.Camera'
ev.run(*args, **options)