I have a working chain, but when I add apply_async()
it only executes the first task.
@task(name='run_a', delay=True)
def run_a(**kwargs):
do_whatever(kwarg['var'])
return
@task(name='run_b', delay=True)
def run_b(**kwargs):
# ...
return
@task(name='run_c', delay=True)
def run_c(**kwargs):
# ...
return
With a chain command:
ret = chain(
run_a.s(**kwargs),
run_b.s(**kwargs),
run_b.s(**kwargs)
).apply_async()
- Without the
apply_async
it all works (synchronously) as expected. - 'kwargs' is a dict.
run_b
I get a typeError in the Celery Worker log:TypeError: run_b() takes exactly 0 arguments (8 given)
– Gnathic