Watchdog

Watchdog is a daemon thread monitoring the task executor thread

All MCDR related events are dispatched and executed one by one in the task executor thread as tasks. When a task in the task executor thread runs for more than 10 seconds, watchdog will consider the task executor is blocked and recreate a new task executor for MCDR, so that bad-designed plugin will not able to block the logic of MCDR forever

The 10s execution time limit can be configured with the watchdog_threshold option in the configure file

If you want to do some time costly tasks in your plugin, execute them in a new thread is highly recommended. The @new_thread decorator provides an easy way to do that