If the queue daemon crashes, it can leave behind a semaphore that will block further tasks, despite restarting the daemon.

I think we should just be able to clear the semaphore when starting the queue daemon.

Comments

ergonlogic created an issue.

ergonlogic’s picture

Presumably we'd want to run it in hosting_queued(); somewhere before the main loop.

colan’s picture

Is there a workaround for now, some way to clear it manually?

ergonlogic’s picture

Indeed there is:

$ drush @hm sqlc
mysql> DELETE FROM semaphore WHERE name='hosting_queue_tasks_running';
helmo’s picture

That's what the HOSTING_QUEUE_LOCK_TIMEOUT is for right? We have it at 1 hour.

You could create a '--force-lock' option for hosting-queued...which would probably do #4