2013-07-10 8 views
0

En utilisant django-céleri, j'essaye de créer des sous-tâches à partir d'une tâche principale mais j'obtiens cette erreur: réception de tâche non enregistrée de type 'smallTask'.Céleri, créer sous-tâche de l'intérieur de la tâche: Tâche non enregistrée de type

Une idée de ce qui ne va pas s'il vous plaît? Et si c'est la bonne façon de créer des sous-tâches de cette façon?

Merci,

@task 
def mainTask(): 
    count = 0 
    logger = mainTask.get_logger() 
    logger.info('LOGGER: in main task') 

    while count < 10: 
     subtask('smallTask', args=(count), countdown=0).apply_async() 
     count += 1 

@task 
def smallTask(): 
    logger = smallTask.get_logger() 
    logger.info('LOGGER: in main task') 

Répondre

2

Pas vraiment sûr que ce soit la meilleure façon de le faire, mais avec une aide supplémentaire sur le SO d'une autre question, j'ai ce travail maintenant.

@task 
def mainTask(): 
    count = 0 
    logger = mainTask.get_logger() 
    logger.info('LOGGER: in main task') 
    obj = {'foo':'bar'} 
    while count < 10: 
     subtask('smallTask', args=(obj,)).apply_async() 
     count += 1 

@task(name='smallTask') 
def smallTask(): 
    logger = smallTask.get_logger() 
    logger.info('LOGGER: in sub task') 
Questions connexes