1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-25 00:02:41 +01:00
phorge-phorge/src/infrastructure/daemon
epriestley 2cd77b5b58 Improve taskmaster behavior on empty queues
Summary:
Right now, taskmasters on empty queues sleep for 30 seconds. With a default setup (4 taskmasters), this averages out to 7.5 seconds between the time you do anything that queues something and the time that the taskmasters start work on it.

On instances, which currently launch a smaller number of taskmasters, this wait is even longer.

Instead, sleep for the number of seconds that there are taskmasters, with a random offset. This makes the average wait to start a task from an empty queue 1 second, and the average maximum load of an empty queue also one query per second.

On loaded instances this doesn't matter, but this should dramatically improve behavior for less-loaded instances without any real tradeoffs.

Test Plan: Started several taskmasters, saw them jitter out of sync and then use short sleeps to give an empty queue about a 1s delay.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Differential Revision: https://secure.phabricator.com/D11772
2015-02-16 11:30:49 -08:00
..
bot Phabot / Conduit - stop using deprecated conduit api paste.info 2015-02-03 13:44:20 -08:00
control Allow daemons to be terminated in the absence of MySQL 2015-01-15 06:56:38 +11:00
garbagecollector Fix the visibility of PhutilDaemon::run methods 2015-01-16 06:59:29 +11:00
workers Improve taskmaster behavior on empty queues 2015-02-16 11:30:49 -08:00
PhabricatorDaemon.php Add "phd.user" with sudo hooks for SSH/HTTP writes 2013-11-18 08:58:35 -08:00