我尝试在我的django项目中使用共享的\u任务。但我不能进口。我正在使用Celery 4.1.0(latentcall)
我将把共享任务放在一个库中(现在它们在一个文件夹中,但会创建一个whl)我在搜索文档,在互联网上的例子,但我没有找到任何。在
在我的django项目中,我有:(查看下面的更新)
但当我创建任务时:
app.send_task('futurelibrary.tasks.taskfunction', [])
但任务的结果是:
^{pr2}$我已经阅读了将导入放在设置django文件夹的__init__.py
中。但我不能这么做。我将有不同的芹菜配置和不同的库任务。在
我将尝试不同的路径,以确定是否我使用了一个不正确的路径。如果我找到解决方案,我会更新的。在
更新:一定是我做错了什么,因为它没有发现任务。我将给你我的实际结构和我写的模块:
myproject
│
├──futurelibrary
│ └──tasks.py
│
├──djangoappmain
│ ├──urls.py
│ └──[...]
│
├──djangoapp2
│ ├──celery.py
│ └──apps.py
│
└──settings
├──celeryconfig.py
└──workerconf.py
这些是每个文件夹中唯一的文件(但是djangoappmain有更多的文件)
当我给工人打电话时,我会:
celery worker --config=settings.workerconf
在djangoapp2/芹菜里我有:
from __future__ import absolute_import
from celery import Celery
from settings import celeryconfig
app = Celery('my_app')
app.config_from_object(celeryconfig)
# Write the module to import where task.py are
app.autodiscover_tasks(['futurelibrary'])
如果您还需要配置文件中的内容,只需告诉我并粘贴它们
好吧,我发现了问题:
看来我不需要真的去发现任务。我只需要将它们添加到workerconf中:
现在一切正常。在
相关问题 更多 >
编程相关推荐