瀏覽代碼

MaybeEncodingError was not wrapped in ExceptionInfo. Thanks to mtirsel. Closes #524

Ask Solem 13 年之前
父節點
當前提交
c5244e7280
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      celery/concurrency/processes/pool.py

+ 3 - 1
celery/concurrency/processes/pool.py

@@ -198,8 +198,10 @@ def worker(inqueue, outqueue, initializer=None, initargs=(), maxtasks=None):
         try:
             put((READY, (job, i, result)))
         except Exception, exc:
+            _, _, tb = sys.exc_info()
             wrapped = MaybeEncodingError(exc, result[1])
-            put((READY, (job, i, (False, wrapped))))
+            einfo = ExceptionInfo((MaybeEncodingError, wrapped, tb))
+            put((READY, (job, i, (False, einfo))))
 
         completed += 1
     debug('worker exiting after %d tasks' % completed)