QueueManager class is a generic manager of all active queues for the process.
Whenever a new task is added, the queue manager will see if the TYPE of task already has a queue running
or not. If that type of queue isn't running, it will start one up.
Then, a new task is processed by logging into the database the new task and then it will be assigned
to the queue that is responsible for processing that type of task.
The queue manager is also responseible for updating all of its active Queues in the DB with heartbeat
information. Heartbeat information is used to determine if a queue has crashed or not by other processes
or not. After a heartbeat timeout is reached, other queues can pick up tasks from a crashed process.
QueueManager class is a generic manager of all active queues for the process.
Whenever a new task is added, the queue manager will see if the TYPE of task already has a queue running or not. If that type of queue isn't running, it will start one up.
Then, a new task is processed by logging into the database the new task and then it will be assigned to the queue that is responsible for processing that type of task.
The queue manager is also responseible for updating all of its active Queues in the DB with heartbeat information. Heartbeat information is used to determine if a queue has crashed or not by other processes or not. After a heartbeat timeout is reached, other queues can pick up tasks from a crashed process.