For each job type, tasks are processed using a plugin, with separate queues to ensure that the different jobs do not affect each other. The processing of tasks using different plugins can also be outsourced and performed on other systems or even in a cluster.