The old model of a Supervisor + a Canceller that only started Producers and Consumers was not only overly complex, but also buggy (it failed upon app startup - see #2147).
This refactor makes the Supervisor start a single Canceller process per survey that has to be cancelled.
This model should pave the way to turn the Canceller into a SurveyBroker that manages the survey's complete lifecycle in #2331.
The old model of a Supervisor + a Canceller that only started Producers and Consumers was not only overly complex, but also buggy (it failed upon app startup - see #2147).
This refactor makes the Supervisor start a single Canceller process per survey that has to be cancelled.
This model should pave the way to turn the Canceller into a SurveyBroker that manages the survey's complete lifecycle in #2331.
Fixes #2147