<acis-acorn-check.pl> script documentation

  1. Introduction:
    The purpose of this script is to ensure that the ACORN process is running on the CPU. If one is not found, a new one is launched. ACORN is a C++ program written by Peter Allen (CXC programmer; UD folder) that monitors the real-time telemetry given a UDP port and a list of mnemonics (or MSIDs) to listen for. In the Chandra telemetry, the list of the ACIS mnemonics for which data are to be written out to log files by the ACORN process are listed in a text file, acis-acorn-msid-script which is an input to running ACORN. What are output by the ACORN process are "tracelog files" that contain the values for each MSID monitored in the Chandra telemetry. Currently, the list of ACIS msids stored in acis-acorn-msid-script are output to 17 tracelog files, which are then fed to acis-read.pl. Getting back to this script, it also reads in a file containing a list of all ACORN pids, acisdude-acis.pid, and gets the pid for the last known ACORN process. It then searches the CPU for this pid. If it does not find it, it launches a new one, appends the new PID to the PID logfile, and sends email to 'acisdude' informing the CXC ACIS Ops group that the ACORN process could not be found and a new one is relaunched. This script is run via CRON every 5 minutes by 'acisdude'. Under nominal operations, there are three versions running. The "primary" version that is run out of /export/acis-flight/primary/acis/bin/ on rhodes (via UDP port #1135), and the back-up versions that are run out of /home/acisdude/real-time/back-up/acis/bin (via UDP port #11112 on xcanuck and UDP port #11350 on colossus). The maximum size of the tracelogs is a user-specified varible (via the "-e" switch). Once a tracelog exceeds this size, a new tracelog file is automatically started. acis-tl-cleanup.pl is a separate perl script that deletes obsolete tracelog files and is run independently from acis-acorn-check.pl via CRON.
  2. Execution dependencies:
    Requires the process to be run on the machine `rhodes' (OPS LAN -- "primary" version), 'xcanuck' (HEAD LAN -- "back-up 1" process) 'coloss' (OPS LAN -- "back-up 2" process) by user 'acisdude' and is run every 5 minutes via the CRON daemon.
  3. Script dependencies:
    Requires access to the ACORN PID file (/var/tmp/acisdude-acis.pid) and the ACORN executable and supporting libraries (see /export/acis-flight/primary/acorn-1.33/acorn/) on rhodes
    Scripts used by acis-acorn-check.pl
    ACORN
    Scripts that depend on the outputs
    acis-read.pl
  4. File dependencies:
    Input files:
    acis-acorn-msid-script (input to ACORN)
    acisdude-acis.pid
    Output files:
    17 tracelog files (by the ACORN executable; see acis-read.pl for the full list of 17 input tracelog files.)
  5. Code Location and execution
  6. Problems and Issues
  7. Notes

Go up one level
Last modified: Wed Jan 14 10:17:37 EST 2004