Please sign in to comment.
Cleanup interactor start/stop.
This removes unnecessary start/stop thread creation for the interactor in the Runner and also some duplicate interactor creation on Guard startup. Before it behaved like: 1. Guard run some task 2. Runner loops through every Guard 3. Runner stops and start before each task the interactor So when you had 5 plugins configured, it created/killed 7 threads on start, and 5 on each subsequent task. The refactoring removes the responsibility of starting and stopping the interactor from the Runner class. This means that every class that makes use of the Runner must ensure that the interactor is properly stopped and started by using `Guard.within_preserved_state`.
- Loading branch information...
Showing with 55 additions and 47 deletions.