# configuration file for rotsed
#
# format is "key value"
# comments start with `#' and go to end of line
# blank lines are okay
# lines cannot be continued
#
# stuff just for rotsed
#
loglevel 1 # 0,1,2 = terse,verbose,debug
logfile /rotse/run/log/rotsed.log
cfgfile /rotse/run/cfg/rotsed.cfg # Location of ipc key & lockfile
poll_time 0.01 # main loop time quantum
email_list "observer@rotse3a.lanl.gov"
jsfile /rotse/run/log/rotse3a.js # JavaScript Status File
jsdelay 60.0 # Interval (s) for js updates
The cfgfile acts as the lockfile for the daq system. If the cfgfile is present on the system, rotsed will not start and logs the error to /var/log/rotse.log. This file also contains the IPC key for the shared memory, so the other daemons can link up with the shared memory segment.
Every 60 seconds (set by the jsdelay keyword) the system writes a
JavaScript formatted status file to jsfile. A cron job is set up on the
www.rotse.net computer to copy this status file every minute. The
JavaScript file is used to create a status webpage that is available for the
public to view near real-time system status, as in Section 8.4.2.
# parameters to control weathd
#
weathd run 1 # yes/no = 1/0
weathd conf /rotse/run/etc/weathd.conf # confile name
weathd path /rotse/run/bin/weathd # path to executable
weathd tout 60.0 # timeout for updates
weathd tinit 120.0 # timeout for initialization
weathd tlog 300.0 # logging period
alertd run ...
astrod run ...
camerad run ...
clamd run ...
mountd run ...
spotd run ...
skeld run 0 # Should not run skeld
userd run ...
Each daemon can be set whether to run or not. For debugging and testing it is useful to run specific daemons, but in normal operation it is vital to have all the daemons running. For each daemon the operator must specify the path of the executable as well as the path to the configuration file. If a daemon exceeds its initialization timeout on startup or its update timeout during normal operation, rotsed will automatically shut down the system. These timeouts should be large enough that they are never exceeded during normal operation, and they can depend on the cpu speed of the controller computer, as well as the additional load from online processing.