[英]Received unregistered task of type “” in Flask-Celery
I'm trying to integrate celery into my app but I am getting this error saying Received unregistered task of type "". The message has been ignored and discarded.
我正在尝试将celery集成到我的应用程序中,但出现此错误,提示Received unregistered task of type "". The message has been ignored and discarded.
Received unregistered task of type "". The message has been ignored and discarded.
My Celery app instance is being created like so: 我的Celery应用实例的创建过程如下:
from celery import Celery
def make_celery(app):
celery = Celery(app.import_name, broker=app.config['CELERY_BROKER_URL'])
celery.conf.update(app.config)
TaskBase = celery.Task
class ContextTask(TaskBase):
abstract = True
def __call__(self, *args, **kwargs):
with app.app_context():
return TaskBase.__call__(self, *args, **kwargs)
celery.Task = ContextTask
return celery
My tasks file is like so: 我的任务文件如下所示:
from flask import current_app
from .. import celery
from ..models.models import MobileRedemption
@celery.task(name='process_new_redemption')
def task_process_new_redemption(red_id):
redemption = MobileRedemption.objects(id=red_id).first()
if redemption:
assert isinstance(redemption, MobileRedemption)
print ("Redemption Successful.....!")
@celery.task(name='process_delete_redemption')
def task_delete_redemption(red_id):
current_app.logger.info("reached here!")
redemption = MobileRedemption.objects(id=red_id).first()
print(redemption)
redemption.delete()
What am I doing wrong? 我究竟做错了什么?
In your Celery
construction you should include
your tasks files: 在Celery
构造中,应include
任务文件:
celery = Celery(app.import_name,
broker=app.config['CELERY_BROKER_URL'],
include=['path.to.tasks'])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.