The task runner has multi-process locking around all shared resources, so most of the hard work is already done. You can run it multiple times with different sets of devices or groups, which scales really well.
Next step is to do this automatically and distribute tasks over a number of worker processes (think ./manage.py run --workers=10).
The task runner has multi-process locking around all shared resources, so most of the hard work is already done. You can run it multiple times with different sets of devices or groups, which scales really well.
Next step is to do this automatically and distribute tasks over a number of worker processes (think
./manage.py run --workers=10).