2017-10-02 1 views
0

Ich versuche, Sellerie in meine App zu integrieren, aber ich diesen Fehler Received unregistered task of type "". The message has been ignored and discarded. Mein Sellerie app Beispiel sagt, ist wie so erstellt werden:Received unregistrierte Aufgabe vom Typ „“ in Flask-Sellerie

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 

Mein Aufgaben Datei ist 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() 

Was mache ich falsch?

Antwort

2

In Ihrem Celery Bau sollten Sie Ihre Aufgaben Dateien include:

celery = Celery(app.import_name, 
       broker=app.config['CELERY_BROKER_URL'], 
       include=['path.to.tasks']) 
+0

@theentertainer haben Sie versucht? – ItayB

+0

Ja, ich habe und es hat funktioniert. Vielen Dank – theentertainer

Verwandte Themen