You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refactor the current job reservation logic to call out to one of several, separate job reserver classes, and implement an additional one for selecting between configured queues at random.
Current Behavior
At the moment, only two reservation options exist - queue list iteration, or blocking pop. In the first, the worker scans each queue in order, and the first one it finds a job in is the one it pulls work from; it then restarts at the top of the list. In the second, the worker waits for any queue to have a job, but will still execute jobs in highest priority queues exclusively, until said queues are empty, before moving on to lower-priority queues. This isn't effective for all users, so an additional mechanism has been proposed, which checks queues in a random order, rather than in the configured "priority" order. To implement this effectively, it's helpful to pull the job reservation logic out into separate classes entirely, making the process of adding others considerably simpler in the future.
This feature was originally suggested and Pull Requested under the old home for this project. This issue is intended to pull this functionality over to the current repository.
The text was updated successfully, but these errors were encountered:
Expected Behavior
Refactor the current job reservation logic to call out to one of several, separate job reserver classes, and implement an additional one for selecting between configured queues at random.
Current Behavior
At the moment, only two reservation options exist - queue list iteration, or blocking pop. In the first, the worker scans each queue in order, and the first one it finds a job in is the one it pulls work from; it then restarts at the top of the list. In the second, the worker waits for any queue to have a job, but will still execute jobs in highest priority queues exclusively, until said queues are empty, before moving on to lower-priority queues. This isn't effective for all users, so an additional mechanism has been proposed, which checks queues in a random order, rather than in the configured "priority" order. To implement this effectively, it's helpful to pull the job reservation logic out into separate classes entirely, making the process of adding others considerably simpler in the future.
Possible Solution
The original attempt at this, by @rayward, was in chrisboulton/php-resque#338
Context
This feature was originally suggested and Pull Requested under the old home for this project. This issue is intended to pull this functionality over to the current repository.
The text was updated successfully, but these errors were encountered: