You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Celery 3.1 defines how chord errors are handled, the previous behavior was never documented
and more of an accident since it was never the intention to work that way.
We couldn't change the behavior in a bugfix release so a setting had to be used instead,
but it was never the intention that someone would deliberately disable the new behavior.
The new behavior is there to protect against this sort of issue happening, and the backward compatible setting may be removed. I suggest you find some other way to handle errors here (and I wouldn't mind a proposal if you can invent a nice api for it)
For me, the old behavior seems very useful. In some cases I'd like to be 100% sure the callback would be called, regardless of the header. In fact, I was very annoyed when I learned it doesn't work that way!
This is a key feature to me, so I'm deeply concerned to hear it may become deprecated. I'd very much like to have such option, and I think I'm not alone about this.
I'm using v3.1.0rc1 and disable CELERY_CHORD_PROPAGATES to meet the use-case
that every tasks in chord will run.
celery.conf.update(CELERY_CHORD_PROPAGATES = False)
This works: ( deliberately introduce type error in
add.si(1,"1")
)But when using chains as chord tasks, this gets hang:
Broker: redis
Result backend: database
The text was updated successfully, but these errors were encountered: