Page MenuHomePhorge
Diviner Tech Docs PhabricatorTriggerDaemon

final class PhabricatorTriggerDaemon
Phorge Technical Documentation (Daemons)

Schedule and execute event triggers, which run code at specific times.

Also performs garbage collection of old logs, caches, etc.

Tasks

Communicating With the Overseer

No methods for this task.

Autoscaling Daemon Pools

  • protected function willBeginWork() — Prepare to become busy. This may autoscale the pool up.
  • protected function willBeginIdle() — Prepare to idle. This may autoscale the pool down.

Garbage Collection

  • private function runGarbageCollection($duration) — Run the garbage collector for up to a specified number of seconds.
  • private function updateGarbageCollection() — Update garbage collection, possibly collecting a small amount of garbage.

Other Methods

Methods

public function __get($name)
Inherited

This method is not documented.
Parameters
$name
Return
wild

public function __set($name, $value)
Inherited

This method is not documented.
Parameters
$name
$value
Return
wild

public function current()
Inherited

This method is not documented.
Return
wild

public function key()
Inherited

This method is not documented.
Return
wild

public function next()
Inherited

This method is not documented.
Return
wild

public function rewind()
Inherited

This method is not documented.
Return
wild

public function valid()
Inherited

This method is not documented.
Return
wild

private function throwOnAttemptedIteration()
Inherited

This method is not documented.
Return
wild

public function getPhobjectClassConstant($key, $byte_limit)
Inherited

Phobject

Read the value of a class constant.

This is the same as just typing self::CONSTANTNAME, but throws a more useful message if the constant is not defined and allows the constant to be limited to a maximum length.

Parameters
string$keyName of the constant.
int|null$byte_limitMaximum number of bytes permitted in the value.
Return
stringValue of the constant.

final public function setVerbose($verbose)
Inherited

This method is not documented.
Parameters
$verbose
Return
wild

final public function getVerbose()
Inherited

This method is not documented.
Return
wild

final public function setScaledownDuration($scaledown_duration)
Inherited

This method is not documented.
Parameters
$scaledown_duration
Return
wild

final public function getScaledownDuration()
Inherited

This method is not documented.
Return
wild

final public function __construct($argv)
Inherited

This method is not documented.
Parameters
array$argv
Return
this//Implicit.//

final public function __destruct()
Inherited

This method is not documented.
Return
wild

final public function stillWorking()
Inherited

This method is not documented.
Return
wild

final public function shouldExit()
Inherited

This method is not documented.
Return
wild

final protected function shouldHibernate($duration)
Inherited

This method is not documented.
Parameters
$duration
Return
wild

final protected function sleep($duration)
Inherited

This method is not documented.
Parameters
$duration
Return
wild

protected function willSleep($duration)
Inherited

This method is not documented.
Parameters
$duration
Return
wild

public static function onTermSignal($signo)
Inherited

This method is not documented.
Parameters
$signo
Return
wild

final protected function getArgv()
Inherited

This method is not documented.
Return
wild

final public function execute()
Inherited

This method is not documented.
Return
wild

protected function run()

This method is not documented.
Return
wild

final public function setTraceMemory()
Inherited

This method is not documented.
Return
wild

final public function getTraceMemory()
Inherited

This method is not documented.
Return
wild

final public function setTraceMode()
Inherited

This method is not documented.
Return
wild

final public function getTraceMode()
Inherited

This method is not documented.
Return
wild

final public function onGracefulSignal($signo)
Inherited

This method is not documented.
Parameters
$signo
Return
wild

final public function onNotifySignal($signo)
Inherited

This method is not documented.
Parameters
$signo
Return
wild

protected function onNotify($signo)
Inherited

This method is not documented.
Parameters
$signo
Return
wild

protected function willRun()
Inherited

This method is not documented.
Return
wild

protected function didSetTraceMode()
Inherited

This method is not documented.
Return
wild

final protected function log($message)
Inherited

This method is not documented.
Parameters
$message
Return
wild

private static function didCatchSignal($signo)
Inherited

This method is not documented.
Parameters
$signo
Return
wild

private function beginStdoutCapture()
Inherited

This method is not documented.
Return
wild

private function endStdoutCapture()
Inherited

This method is not documented.
Return
wild

public function didReceiveStdout($data)
Inherited

This method is not documented.
Parameters
$data
Return
wild

private function encodeOverseerMessage($type, $data)
Inherited

This method is not documented.
Parameters
$type
$data
Return
wild

private function emitOverseerMessage($type, $data)
Inherited

This method is not documented.
Parameters
$type
$data
Return
wild

public static function errorListener($event, $value, $metadata)
Inherited

This method is not documented.
Parameters
$event
$value
array$metadata
Return
wild

protected function willBeginWork()
Inherited

PhutilDaemon

Prepare to become busy. This may autoscale the pool up.

This notifies the overseer that the daemon has become busy. If daemons that are part of an autoscale pool are continuously busy for a prolonged period of time, the overseer may scale up the pool.

Return
this

protected function willBeginIdle()
Inherited

PhutilDaemon

Prepare to idle. This may autoscale the pool down.

This notifies the overseer that the daemon is no longer busy. If daemons that are part of an autoscale pool are idle for a prolonged period of time, they may exit to scale the pool down.

Return
this

protected function getIdleDuration()
Inherited

This method is not documented.
Return
wild

public function getViewer()
Inherited

This method is not documented.
Return
wild

public static function sudoCommandAsDaemonUser($command)
Inherited

PhabricatorDaemon

Format a command so it executes as the daemon user, if a daemon user is defined. This wraps the provided command in sudo -u ..., roughly.

Parameters
PhutilCommandString$commandCommand to execute.
Return
PhutilCommandString`sudo` version of the command.

private function scheduleTriggers($cursor)

Process all of the triggers which have been updated since the last time the daemon ran, scheduling them into the event table.

Parameters
int$cursorCursor for the next version update to process.
Return
void

private function executeTriggers()

Run scheduled event triggers which are due for execution.

Return
void

private function getSleepDuration()

Get the number of seconds to sleep for before starting the next scheduling phase.

If no events are scheduled soon, we'll sleep briefly. Otherwise, we'll sleep until the next scheduled event.

Return
intNumber of seconds to sleep for.

private function loadCurrentCursor()

This method is not documented.
Return
wild

private function loadCurrentVersion()

This method is not documented.
Return
wild

private function updateCursor($value)

This method is not documented.
Parameters
$value
Return
wild

private function loadCurrentCounter($counter_name)

This method is not documented.
Parameters
$counter_name
Return
wild

private function runGarbageCollection($duration)

Run the garbage collector for up to a specified number of seconds.

Parameters
int$durationNumber of seconds the GC may run for.
Return
intNumber of seconds remaining in the time budget.

private function updateGarbageCollection()

Update garbage collection, possibly collecting a small amount of garbage.

Return
boolTrue if there is more garbage to collect.

private function runNuanceImportCursors($duration)

This method is not documented.
Parameters
$duration
Return
wild

private function updateNuanceImportCursors()

This method is not documented.
Return
wild

private function runCalendarNotifier($duration)

This method is not documented.
Parameters
$duration
Return
wild