Python Django芹菜链

Python Django芹菜链,python,django,celery,Python,Django,Celery,我想把一个任务的结果传递给另一个任务。我用的是链条 som = chain (task_async_get_me_friends.s((userId), parse_friends.s()))() q = som.get() print q 我的意图是创建2个任务。第一个任务获取用户的好友,然后将JSON对象中的好友传递给parse_friends任务。我正在从任务\u async\u get\u me\u friends获取结果,但无法调用parse\u friends @celery.ta

我想把一个任务的结果传递给另一个任务。我用的是链条

som = chain (task_async_get_me_friends.s((userId), parse_friends.s()))()
q = som.get()
print q
我的意图是创建2个任务。第一个任务获取用户的好友,然后将JSON对象中的好友传递给parse_friends任务。我正在从任务\u async\u get\u me\u friends获取结果,但无法调用parse\u friends

@celery.task
def task_async_get_me_friends(userId, *args):
   logger.info('First do something')
   users_friends = fb_get_friends(userId)
   # Till here everything is all good, I did see the celery logger. Getting result from fb
   return {'result':'success', 'data':users_friends}

@celery.task
def parse_friends(users_friends,*args,**kwargs):
   # This log line i cannot see in the celery
   logger.info('Second do something'+str(users_friends))
   # Do something with users_friends

编辑:意识到我误解了哪个函数做了什么

我还在吃芹菜,但我认为你们的连锁店做的不是你们想要的。具体地说,chain需要一个任务列表;您只提供了一个任务,而该任务恰好使用了第二个任务。我想你想要的是:

som = chain (task_async_get_me_friends.s(userId),parse_friends.s())
这应该调用parse_friends,当返回该结果时,将其传递给task_async_get_me_friends,task_async_get_me_friends的第一个参数作为userId传入,但正在等待chain为json结果提供第二个参数