wiki:ProjectDaemons

Version 4 (modified by Christian Beer, 10 years ago) (diff)

added silent_start config option

Daemons

Daemons are server programs that normally run continuously. Your project's daemons are described in its config.xml file, with elements of the form:

<daemon>
  <cmd> feeder -d 3 </cmd>
  [ <host>host.domain.name</host> ]
  [ <disabled> 0|1 </disabled> ]
  [ <silent_start> 0|1 </silent_start> ]
  [ <output>filename</output> ]
  [ <pid_file>filename</pid_file> ]
</daemon>
<daemon>
...
</daemon>
cmd
The command used to start the daemon. Must be a program in the project's bin/ directory.
host
Specifies the host on which the daemon should run. The default is the project's main host, as specified in config.xml.
disabled
If set to 1, ignore this daemon. Note that <disabled/> won't work; you must specify a number.
silent_start
If set to 1, don't print a message at project startup about this daemon. Note that <silent_start/> won't work; you must specify a number.
output
Name of output file (in the log_HOSTNAME directory). Defaults to the program name followed by '.log'. If you're running multiple instances of a daemon on one host, you must specify this.
pid_file
Name of file used to store the process ID (in the pid_HOSTNAME directory). Defaults to the program name followed by '.pid'. If you're running multiple instances of a daemon on one host, you must specify this.

Daemons are started when you run the bin/start script, and killed (by a SIGHUP signal) when you run bin/stop.

Typically, this mechanism is used to run work handling daemons. Projects that use trickle-up messages will also need to have a trickle-up handler.