I asked about this in this thread .
I felt that registered callbacks should be completed at the end of the job if they work on the same artist. (Or behavior must be driven by politics.) (Someday I will send a PR for what I described, as it seems natural enough.)
Previously, I had a setting in which a single-threaded artist read some files and loaded tasks into another pool. The original design was that the feeder suppressed itself by blocking the feed. It was good, but inflexible. I wanted to unlock some tasks in the second pool, but, of course, the submissions would be blocked.
So, given that blocking is evil, you have to decide what to do with your tasks as soon as you know you cannot run them.
One answer is that you expect peace before starting the shutdown. In my case, I had many tasks to complete, so I knew when the work was done.
Victor Klang pointed out that in this topic all tasks are deployed and transferred all the time, therefore, if someone knows what peace is, this is an application, not an infrastructure.
source share