Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 按名称调用Django芹菜任务_Python_Django_Celery - Fatal编程技术网

Python 按名称调用Django芹菜任务

Python 按名称调用Django芹菜任务,python,django,celery,Python,Django,Celery,我需要从models.py调用芹菜任务(在tasks.py中),唯一的问题是tasks.py导入models.py,因此我无法从models.py导入tasks.py 有没有什么方法可以简单地使用芹菜任务的名称来调用芹菜任务,而不必导入它?出于同样的原因(防止循环导入),ForeignKey字段也实现了类似的功能。是的,确实存在 您可以使用: from celery.execute import send_task send_task('my_task', [], kwargs) 确

我需要从models.py调用芹菜任务(在tasks.py中),唯一的问题是tasks.py导入models.py,因此我无法从models.py导入tasks.py

有没有什么方法可以简单地使用芹菜任务的名称来调用芹菜任务,而不必导入它?出于同样的原因(防止循环导入),ForeignKey字段也实现了类似的功能。

是的,确实存在

您可以使用:

from celery.execute import send_task    

send_task('my_task', [], kwargs)
确保任务函数具有名称:

from celery import task

@task(name='my_task')
def my_task():
     ...
希望有帮助

芹菜3+:

from celery import Celery

app = Celery()
app.send_task('my_task', [], kwargs)

您是否尝试过芹菜.execute.send_任务('mod.task_func',[arg1,arg2],{kwarg:kwvalue})?