2013-07-10 1 views
0

Использование django-сельдерея, я пытаюсь создать некоторые подзадачи из основной задачи, но получаю эту ошибку: получена незарегистрированная задача типа «smallTask».Сельдерей, создайте подзадачу изнутри задачи: полученная незарегистрированная задача типа

Любая идея, что не так, пожалуйста? И если это правильный способ создания подзадач таким образом?

Спасибо,

@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') 

ответ

2

Не совсем уверен, что это лучший способ сделать это, но с некоторой дополнительной помощи на SO от другого вопроса, я это работает в настоящее время.

@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') 

 Смежные вопросы

  • Нет связанных вопросов^_^