HomePhabricator

Allow daemon modules to awake hibernating daemons from slumber

Description

Allow daemon modules to awake hibernating daemons from slumber

Summary:
Ref T12298. For repository and taskmaster daemons, before we let them hibernate, we want to be able to wake them up if a new task comes in or a repository gets an update request.

If we can't do this, the first action (commit, comment, etc) after a lull of activity may take several minutes to actually get processed by the daemons since we have to wait around for them to wake up on their own.

With this mechanism, daemon overseers can periodically run some queries (e.g., are there new tasks?) to see if pools should wake from hibernation.

Test Plan: Wrote a fake module to awaken trigger daemons by rolling dice, ran bin/phd debug trigger, saw it reawaken them successfully after random intervals.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T12298

Differential Revision: https://secure.phabricator.com/D17538

Details