On Sep 06 01:07 AM, Max Rees wrote:
What if all applicable build servers are unavailable (busy or
when we want to delegate a new task? For the webhook, this should be
easy to get around since it's built to be asynchronous, so we can just
keep polling the list of servers until something's available. In case of
a webhook crash we have the SQL database as a backup. For the enqueue
CLI we would probably just fail by default and have an option to keep
polling for X time or indefinitely.
One thing I'd like to add here: in order to support restarts of the
webhook without losing all of that state, we could initially set the
state of the tasks in the SQL database to be something like "new" which
would then be changed to "building" once it has been properly delegated.