2013-07-10 79 views
0

的未註冊任務使用django-celery,我試圖從主任務中創建一些子任務,但得到此錯誤:接收到類型爲「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')