我怎样才能手动运行一个芹菜周期性的任务?

我正在使用芹菜和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() 

结果实例与通常的AsyncResulttypes具有相同的API,除了结果始终在本地进行急切计算并且.apply()方法将阻塞,直到任务运行完成。

我想你需要打开两个shell:一个用于执行Python / Django shell中的任务,另一个用于运行celery workerpython manage.py celery worker )。 正如前面的答案所说,你可以使用apply()apply_async()来运行任务

我已经编辑了答案,因此您不使用弃用的命令。