我怎样才能手动运行一个芹菜周期性的任务?
我正在使用芹菜和django芹菜。 我定义了一个我想testing的定期任务。 是否可以手动从shell运行周期性任务,以便查看控制台输出?
你是否尝试过从Django shell运行任务? 您可以使用任务的.apply
方法来确保它是热切地在本地运行。
假设任务在tasks
子模块中的Django应用程序myapp
中称为my_task
:
$ python manage.py shell >>> from myapp.tasks import my_task >>> eager_result = my_task.apply()
结果实例与通常的AsyncResult
types具有相同的API,除了结果始终在本地进行急切计算并且.apply()
方法将阻塞,直到任务运行完成。
我想你需要打开两个shell:一个用于执行Python / Django shell中的任务,另一个用于运行celery worker
( python manage.py celery worker
)。 正如前面的答案所说,你可以使用apply()
或apply_async()
来运行任务
我已经编辑了答案,因此您不使用弃用的命令。