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