def async_run_pipe(jsondata, programs, env=None):
""" Run an sequence of jobs asynchronously.
:param jsondata: a dictionary that will be sent as request body.
:param program: a dictionary that defined request meta and parameter.
:param env: a dictionary that contained environments.
:return: AsyncResult, a chaining celery task.
"""
env = env or {}
# assemble celery tasks
tasks = []
tasks.append(async_run_job.s(jsondata, programs[0], env))
for prog in programs[1:]:
tasks.append(async_run_job.s(prog, env))
# chaining run jobs using celery
return chain(*tasks)()
评论列表
文章目录