Simplifies the task queue. Now, the queue will store a timestamp used to sort tasks. By default, it is the time the row is added, however services will overwrite this with the created_on time of the service itself. This allows for services to finish relatively in order, without waiting for tasks from all other services to finish.
This behavior was already present, however the query to determine the next tasks was pretty gnarly and expensive. This is now replaced by a very simple, indexed query on one table.
Description
Simplifies the task queue. Now, the queue will store a timestamp used to sort tasks. By default, it is the time the row is added, however services will overwrite this with the created_on time of the service itself. This allows for services to finish relatively in order, without waiting for tasks from all other services to finish.
This behavior was already present, however the query to determine the next tasks was pretty gnarly and expensive. This is now replaced by a very simple, indexed query on one table.
Supersedes #810
Changelog description
Improves task queue performance
Status