
When the job status changes, it impacts the task statuses as well. These status changes are now no longer done with a single database query, but instead each affected task is fetched, changed, and saved. This unifies the regular & mass updates to the tasks, and causes the resulting task changes to be broadcast to SocketIO clients.