Browse Source

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

Ask Solem 13 years ago
parent
commit
c5244e7280
1 changed files with 3 additions and 1 deletions
  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)