簡體   English   中英

在Flask-Celery中收到類型為“”的未注冊任務

[英]Received unregistered task of type “” in Flask-Celery

我正在嘗試將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. 我的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

我的任務文件如下所示:

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()

我究竟做錯了什么?

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM