wiki:ProjectDaemons

Version 1 (modified by Nicolas, 17 years ago) (diff)

--

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> ]
  [ <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 nonzero, ignore this entry
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.