我有一个芹菜应用程序,我的文件是这样的:
/fetcher.py
/mirad
celery.py
fetcher_tasks.py
celery.py
中的我是导入fetcher_tasks.py
在fetcher.py中,我从fetcher_tasks.py调用一个任务
我想在fetcher.py中导入celery.control
但是我不能这样做,我怎么能做这项工作?
这是我的提取器代码的一部分:
from __future__ import absolute_import
import mirad.fetcher_tasks as tasks
from mirad.models.models import SourceModel
from mirad.settings import *
from mirad.celery.control import inspect
parse_feed_tasks = list()
def fetch():
for source in SourceModel.objects(active=True):
a = tasks.parse_feed.delay(source)
答案 0 :(得分:1)
看起来你在项目中混合了celery.py,用于启动Celery应用程序和celery包,你可以从中导入necessery函数。
您应该从inspect
包中导入celery.task.control
功能。
from __future__ import absolute_import
import mirad.fetcher_tasks as tasks
from mirad.models.models import SourceModel
from mirad.settings import *
from celery.task.control import inspect
parse_feed_tasks = list()
def fetch():
for source in SourceModel.objects(active=True):
a = tasks.parse_feed.delay(source)