Zymonic Daemon
Zymonic Daemon[edit]
The zymonic daemon is a generic daemon which will handle zymonic functionality which needs to run as a daemon, i.e. as a background process. Currently the only functionality used by it is Locking and Messaging.
If a system it not using Locking or Messaging then there is no need to configure and run the daemon. However, if the system is using Locking or Messaging then the configuration is required and the daemon should be running, otherwise the system will produce errors on usage, e.g. cannot find daemon settings, missing parameters for locking.
IMPORTANT: If using locking, ensure Zymonic Caches are correctly setup and the dependent modules are all installed.
Configuration[edit]
The configuration file for the zymonic daemon can be found at:
/etc/zymonic/daemon.conf
If it does not exist it should be created. This file can contains settings for all daemon modules run by Zymonic.
Name | Type | Required | Default | Description |
---|---|---|---|---|
modules | comma-separated list | Yes | N/A | Used to specify which modules should be loaded and run by the daemon. |
log_directory | string | No | /var/log/zymonic_daemon | Used to specify which directory log field should go to. |
In additional to the general settings above, each module will have it's own settings.
Locking[edit]
Name | Type | Required | Default | Description |
---|---|---|---|---|
locking_type | string | Yes | N/A U | sed to specify which locking cache type to use. Current options are Memcached and Redis. See Zymonic Caches. If using Redis then daemon needs to be run as root. |
locking_host | string | Yes | N/A | Used to specify which machine to start locking process running on. |
locking_port | int | Yes | N/A | Used to specify which port to start locking process running on. |
Messaging[edit]
Name | Type | Required | Default | Description |
---|---|---|---|---|
messaging_systems | comma-separated list | Yes | N/A | List of system names which use messaging. |
outgoing_message_process_wait | int | No | 1 | How long to wait between checks for outgoing messages, in seconds. |
An example config file is:
modules=Locking,Messaging locking_type=Redis locking_host=127.0.0.1 locking_port=7777 messaging_systems=system1,system2 outgoing_message_process_wait=2
Checking for Crashes[edit]
In the log files there should be a message like this:
Started outgoing message handling process for system ztsm: 8379
The number at the end is a system PID. This can be checked to see if its running like this:
$ ps 8379 PID TTY STAT TIME COMMAND 8379 pts/2 S 0:00 perl /usr/local/bin/zymonic_daemon.pl
If there is nothing listed then the process has crashed. Restart the daemon. The PID specific log files should then have further details as to what went wrong.
Running[edit]
To run the daemon simply run:
sudo perl /usr/local/bin/zymonic_daemon.pl & disown
Stopping[edit]
To safely stop the running daemon run:
kill -SIGTERM [daemon process id]
This will correctly cleanup and stop the daemon.