Following up on #500362: dispatcher locking, we should use Drupal's builtin locking system instead of our own variable_get/set system to ensure that a single dispatcher is running a queue at a time. The current implementation works, but it's less reliable that a proper SQL-based semaphore, which is what lock.inc (above) does.
Comments
Comment #1
anarcat commentedAnother area where locking could be appropriate would be in hosting-task itself. If we lock on tasks for the duration of the task, then we don't need locking at the queue level: multiple dispatchers can be started in parallel without any ill effects.
Comment #2
steven jones commentedThis should be a relatively easy and quite nice swap out.
Comment #3
ergonlogicCross-referencing #2049543: Refactor our queue using the Drupal Queue API