2
我有這個簡單的芹菜任務:芹菜正確傳播異常
@celery.task
def test_exception():
raise ValueError("foo")
而且我想用get方法得到的結果,如果我的任務發生在快速完成。
但是,而不是預期的內置ValueError
,我得到了celery.backends.base.ValueError
。如何在這種情況下獲得原始ValueError
?
>>> from tasks import test_exception
>>> try:
... test_exception.delay().get()
... except ValueError as e:
... print("Success: %s", str(e))
... except:
... E=sys.exc_info()
...
>>> E
(<class 'celery.backends.base.ValueError'>, ValueError(u'foo',), <traceback object at 0x7f858c7f5ea8>)
>>> E[0].__module__
'celery.backends.base'
您是否找到了替代解決方案?我偶然發現了同樣的問題。 – lec00q