Nowcast Process Management

TODO

Example Supervisor Configuration File

Here is the complete example supervisord configuration INI file that is discussed in the sections above:

# Example circus process manager configuration file
# for a NEMO_Nowcast framework system

# Supervisor daemon and shell inherit envvars from the environment in which they are started
# %(ENV_XXX)s strings in this file are replaced with XXX envvar values;
# i.e. %(ENV_NOWCAST_ENV)s is replaced with the value of the NOWCAST_ENV envvar

# Supervisor daemon and its interfaces
[supervisord]
logfile = %(ENV_NOWCAST_LOGS)s/supervisor.log
pidfile = %(ENV_NOWCAST_LOGS)s/supervisor.pid
childlogdir = %(ENV_NOWCAST_LOGS)s

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[inet_http_server]
# This value must match that used in [supervisorctl]serverurl below
port = localhost:9001


# Supervisor interactive shell tool
[supervisorctl]
# Host and port values here must match those used in [inet_http_server]port above
serverurl = http://localhost:9001
prompt = nowcast-supervisor


# Long-running processes that supervisor manages
# Priority values define process startup order
[program:message_broker]
command = %(ENV_NOWCAST_ENV)s/bin/python3 -m nemo_nowcast.message_broker %(ENV_NOWCAST_YAML)s
priority = 0
autorestart = true

[program:manager]
command = %(ENV_NOWCAST_ENV)s/bin/python3 -m nemo_nowcast.manager %(ENV_NOWCAST_YAML)s
priority = 1
autorestart = true