我正在使用芹菜和django-celery。我定义了一个我想测试的定期任务。是否可以从外壳程序手动运行定期任务,以便查看控制台输出?
您是否尝试过仅从Django Shell运行任务?您可以使用.apply任务的方法来确保它在本地积极运行。
.apply
假设在子模块的my_taskDjango应用myapp中调用了该任务tasks:
my_task
myapp
tasks
$ python manage.py shell >>> from myapp.tasks import my_task >>> eager_result = my_task.apply()
结果实例具有与通常AsyncResult类型相同的API ,不同之处在于,始终要在本地.apply()迅速地评估结果,并且该方法将阻塞,直到任务运行完成为止。
AsyncResult
.apply()