2010-12-28 26 views
17

誰かがpdbを使用してcelerydワーカーをデバッグしようとしましたか?pdb経由でdjceleryのcelerydをデバッグ

Error while handling action event. 
Traceback (most recent call last): 
    File "/home/jeeyo/workspace3/uwcr/subscriptions/tasks.py", line 79, in process_action_event 
    func(action_event) 
    File "/home/jeeyo/workspace3/uwcr/subscriptions/tasks.py", line 36, in new_user_email 
    send_registration_email(username, new_user.get_profile().plaintext_password) 
    File "/home/jeeyo/workspace3/uwcr/looers/email.py", line 18, in send_registration_email 
    'Your password from UWCoopRankings', user 
    File "/home/jeeyo/workspace3/uwcr/looers/email.py", line 61, in send_email 
    if isinstance(to, basestring): 
    File "/home/jeeyo/workspace3/uwcr/looers/email.py", line 61, in send_email 
    if isinstance(to, basestring): 
    File "/usr/lib/python2.6/bdb.py", line 46, in trace_dispatch 
    return self.dispatch_line(frame) 
    File "/usr/lib/python2.6/bdb.py", line 65, in dispatch_line 
    if self.quitting: raise BdbQuit 
BdbQuit 

これまでの任意の解決策:ブレークポイントは、(どちらかPDB経由celerydを実行することにより、またはpdb.set_trace()で)遭遇するたびに、私は次のエラーを打ちますか?

答えて

14

私は同じ問題を抱えていました。代わりに、セロリのリモートデバッガrdbを使用してみてください:

from celery import task 
from celery.contrib import rdb 

@task() 
def add(x, y): 
    result = x + y 
    rdb.set_trace() # <- set break-point 
    return result 

user guide(リンク更新を5分の2017)を参照してください。

+2

リンクが変更されました。 http://docs.celeryproject.org/en/latest/tutorials/debugging.html –

+1

リンクが変更されました...もう一度! http://docs.celeryproject.org/en/latest/userguide/debugging.html – nachopro

関連する問題