Skip to content

Instantly share code, notes, and snippets.

@alexhayes
Created March 3, 2015 22:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alexhayes/957ad34e4ad33a31b39c to your computer and use it in GitHub Desktop.
Save alexhayes/957ad34e4ad33a31b39c to your computer and use it in GitHub Desktop.
Celery task signature passed as dict
[2015-03-04 09:15:15,852: INFO/MainProcess] Received task: meh.tasks.a[ac7bb67f-5cc2-4c38-8608-66bf7dbdd7c1]
[2015-03-04 09:15:15,852: INFO/MainProcess] Received task: meh.tasks.a[d252459b-87d7-4ed5-a73d-af30eb748317]
[2015-03-04 09:15:15,852: INFO/MainProcess] Received task: meh.tasks.a[9d628c31-2529-40e7-8e94-09a93351b5e5]
[2015-03-04 09:15:15,853: INFO/MainProcess] Received task: meh.tasks.a[a07b2dff-089b-40cb-8f2a-c17011296db3]
[2015-03-04 09:15:15,854: WARNING/Worker-8] ~~~A~~~
[2015-03-04 09:15:15,854: WARNING/Worker-7] ~~~A~~~
[2015-03-04 09:15:15,854: WARNING/Worker-4] ~~~A~~~
[2015-03-04 09:15:15,854: WARNING/Worker-8] 3
[2015-03-04 09:15:15,854: WARNING/Worker-7] 2
[2015-03-04 09:15:15,854: WARNING/Worker-4] 1
[2015-03-04 09:15:15,855: WARNING/Worker-3] ~~~A~~~
[2015-03-04 09:15:15,855: WARNING/Worker-3] 4
[2015-03-04 09:15:15,855: INFO/MainProcess] Task meh.tasks.a[d252459b-87d7-4ed5-a73d-af30eb748317] succeeded in 0.00158200389706s: 2
[2015-03-04 09:15:15,855: INFO/MainProcess] Task meh.tasks.a[9d628c31-2529-40e7-8e94-09a93351b5e5] succeeded in 0.00174420792609s: 3
[2015-03-04 09:15:15,855: INFO/MainProcess] Task meh.tasks.a[ac7bb67f-5cc2-4c38-8608-66bf7dbdd7c1] succeeded in 0.00196731393225s: 1
[2015-03-04 09:15:16,372: INFO/MainProcess] Task meh.tasks.a[a07b2dff-089b-40cb-8f2a-c17011296db3] succeeded in 0.517767735058s: 4
[2015-03-04 09:15:16,375: INFO/MainProcess] Received task: meh.tasks.b[0c87cc87-f13f-453c-9f7f-2ecce4ce374a]
[2015-03-04 09:15:16,376: WARNING/Worker-5] ~~~B~~~
[2015-03-04 09:15:16,376: WARNING/Worker-5] [1, 2, 3, 4]
[2015-03-04 09:15:16,376: WARNING/Worker-5] {'chord_size': None, 'task': 'meh.tasks.a', 'args': (), 'immutable': True, 'subtask_type': None, 'kwargs': {'i': 5}, 'options': {}}
[2015-03-04 09:15:16,379: ERROR/MainProcess] Task meh.tasks.b[0c87cc87-f13f-453c-9f7f-2ecce4ce374a] raised unexpected: AttributeError("'dict' object has no attribute 'apply'",)
Traceback (most recent call last):
File "/path/to/.venvs/local/lib/python2.7/site-packages/celery/app/trace.py", line 240, in trace_task
R = retval = fun(*args, **kwargs)
File "/path/to/.venvs/local/lib/python2.7/site-packages/celery/app/trace.py", line 438, in __protected_call__
return self.run(*args, **kwargs)
File "/path/to/meh/tasks.py", line 405, in b
callback.apply()
AttributeError: 'dict' object has no attribute 'apply'
@app.task
def a(i):
print '~~~A~~~'
print i
return i
@app.task
def b(r, callback):
print '~~~B~~~'
print r
print callback
callback.apply()
# Works - see 'works.log' for output
chain(a.si(i=1),
b.s(callback=a.si(i=5))).delay()
# Doesn't work - see 'doesnt-work.log' for output
chain(group(a.si(i=1), a.si(i=2), a.si(i=3), a.si(i=4)),
b.s(callback=a.si(i=5))).delay()
# Works when eager
chain(group(a.si(i=1), a.si(i=2), a.si(i=3), a.si(i=4)),
b.s(callback=a.si(i=5))).apply()
[2015-03-04 09:14:16,991: INFO/MainProcess] Received task: meh.tasks.a[487881fc-2efc-4a12-a69f-8a1d2f73f0cb]
[2015-03-04 09:14:16,992: WARNING/Worker-1] ~~~A~~~
[2015-03-04 09:14:16,992: WARNING/Worker-1] 1
[2015-03-04 09:14:17,000: INFO/MainProcess] Received task: meh.tasks.b[79c8e9ba-e337-42df-a181-eed018277c6c]
[2015-03-04 09:14:17,001: INFO/MainProcess] Task meh.tasks.a[487881fc-2efc-4a12-a69f-8a1d2f73f0cb] succeeded in 0.00872099399567s: 1
[2015-03-04 09:14:17,001: WARNING/Worker-2] ~~~B~~~
[2015-03-04 09:14:17,001: WARNING/Worker-2] 1
[2015-03-04 09:14:17,001: WARNING/Worker-2] meh.tasks.a(i=5)
[2015-03-04 09:14:17,002: WARNING/Worker-2] ~~~A~~~
[2015-03-04 09:14:17,002: WARNING/Worker-2] 5
[2015-03-04 09:14:17,003: INFO/MainProcess] Task meh.tasks.b[79c8e9ba-e337-42df-a181-eed018277c6c] succeeded in 0.00167444115505s: None
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment