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

colan’s picture

#4 fixed the following for me on one server, but not another:

PHP Fatal error: Uncaught Error: Call to undefined function cache_get() in /var/aegir/hostmaster-7.x-3.130/includes/module.inc:754