The Ingest Scheduler

In past systems, the ingest scheduler (is) ran in its own terminal window on the desktop display. This is no longer possible since the ingest scheduler starts in the background when the system boots. Instead, the scheduler can be controlled by sending it commands through the zrun program. The commands are the same as for the usual interactive is> prompt.

Here is an example of restarting the surface_met ingest process with separate stop and start commands.

15 iss1:/home/iss>  zrun is "stop surface_met"
16 iss1:/home/iss>  zrun is "start surface_met"

The first option, is, indicates the Zebra process to which the command should be sent, and the second option is the command itself. If the command is more than one word, the entire command must be enclosed in quotes so that is interpreted as one command-line option for zrun.

Note that normally there will be no output from these commands. Any output from the ingest scheduler itself will be written to the console. If you need status information or feedback from the ingest scheduler, you can use the ingest scheduler's list command and look for the output in the console window.

17 iss1:/home/iss>  zrun is "list all"
18 iss1:/home/iss>  zrun is "list surface_met"

The first command lists all of the ingest configurations the ingest scheduler currently knows, including status information such as whether a particular configuration is currently active (running). The second command above lists only the surface_met configuration. Again, the list output will only appear in the console window.

Unfortunately, the ingest scheduler can be rather sensitive to incorrect commands. It may crash if sent a command it cannot understand. If the ingest scheduler is running, its name (is) will show up in the output from mstatus.

18 iss1:/home/iss> mstatus
'Message manager'@iss1: pid 331, uid 6000 (iss)
unix socket: /tmp/fcc.socket; internet socket: not enabled
session began: Wed Mar 17 20:36:41 1999; proto version 'V-1.5'
471014 messages sent, 7820229 bytes (2424/151528 broadcast)
        53 disconnects, with 0 pipe signals, 15222 del rd 0 wt
 Process  'Timer' on 5 (p 334), send 465089/7445962, rec 170/9584, nd 0
 Process  'Logger-332' on 6 (p 332), send 66/432, rec 2424/151400, nd 0
 Process  'DS_Daemon' on 7 (p 335), send 156/13830, rec 441/13632, nd 0
 Process  'Archiver-361' on 8 (p 361), send 20/616, rec 10/204, nd 0
 Process  'is' on 9 (p 734), send 2264/140556, rec 29158/466539, nd 0
 Process  'Logger-674' on 10 (p 674), send 55/388, rec 2372/148384, nd 0
 Process  'Displaymgr' on 11 (p 691), send 11/4129, rec 105/6940, nd 0
 Process  'Clock' on 12 (p 692), send 7/152, rec 435492/6971809, nd 0
 Process  'Status reporter' on 13 (p 3143), send 3/48, rec 17/1022, nd 0
Event mask: 0x17
Groups:
 TimeChange (1): Clock
 EventLoggers (2): Logger-332, Logger-674
 Archiver (1): Archiver-361
 Graphproc (1): Clock
 DataStore (2): Archiver-361, Displaymgr
 Everybody (9): Timer, Logger-332, DS_Daemon, Archiver-361, Logger-674, Displaymgr, Clock, is, Status reporter
 Client events (5): Timer, Logger-332, DS_Daemon, Logger-674, Displaymgr

Here is the relevant output line which refers to the ingest scheduler:

 Process  'is' on 9 (p 734), send 2264/140556, rec 29158/466539, nd 0

If the ingest scheduler ever dies or needs to be restarted, it can be controlled with the ingest script in /iss/etc/init.d/ingest, without needing to restart the entire ISS workstation. This script needs to be run as user iss.

19 iss1:/home/iss> /iss/etc/init.d/ingest stop
+ /zebra/bin/zrun is quit 
20 iss1:/home/iss> /iss/etc/init.d/ingest start
starting the iss ingest scheduler...