NAME
scriptmgr - utility for controlling other skytools scripts.
SYNOPSIS
scriptmgr.py [switches] config.ini <command> [-a | -t service | job_name...]
DESCRIPTION
scriptmgr is used to manage several scripts together. It discovers potential jobs based on config file glob expression. From config file it gets both job_name and service type (that is the main section name, e.g. [cube_dispatcher]). For each service type there is subsection in the config how to handle it. Unknown services are ignored.
COMMANDS
status
scriptmgr config.ini status
Show status for all known jobs.
start
scriptmgr config.ini start -a scriptmgr config.ini start -t service scriptmgr config.ini start job_name1 job_name2 ...
Launch script(s) that are not running.
stop
scriptmgr config.ini stop -a scriptmgr config.ini stop -t service scriptmgr config.ini stop job_name1 job_name2 ...
Stop script(s) that are running.
restart
scriptmgr config.ini restart -a scriptmgr config.ini restart -t service scriptmgr config.ini restart job_name1 job_name2 ...
Restart scripts.
reload
scriptmgr config.ini reload -a scriptmgr config.ini reload -t service scriptmgr config.ini reload job_name1 job_name2 ...
Send SIGHUP to scripts that are running.
CONFIG
Common configuration parameters
- job_name
-
Name for particulat job the script does. Script will log under this name to logdb/logserver. The name is also used as default for PgQ consumer name. It should be unique.
- pidfile
-
Location for pid file. If not given, script is disallowed to daemonize.
- logfile
-
Location for log file.
- loop_delay
-
If continuisly running process, how long to sleep after each work loop, in seconds. Default: 1.
- connection_lifetime
-
Close and reconnect older database connections.
- use_skylog
-
foo.
scriptmgr parameters
- config_list
-
List of glob patterns for finding config files. Example:
config_list = ~/dbscripts/conf/*.ini, ~/random/conf/*.ini
Service section parameters
- cwd
-
Working directory for script.
- args
-
Arguments to give to script, in addition to -d.
- script
-
Path to script. Unless script is in PATH, full path should be given.
- disabled
-
If this service should be ignored.
Example config file
[scriptmgr] job_name = scriptmgr_livesrv logfile = ~/log/%(job_name)s.log pidfile = ~/pid/%(job_name)s.pid
config_list = ~/scripts/conf/*.ini
# defaults for all service sections [DEFAULT] cwd = ~/scripts
[table_dispatcher] script = table_dispatcher.py args = -v
[cube_dispatcher] script = python2.4 cube_dispatcher.py disabled = 1
[pgqadm] script = ~/scripts/pgqadm.py args = ticker
COMMAND LINE SWITCHES
Following switches are common to all skytools.DBScript-based Python programs.
- -h, --help
-
show help message and exit
- -q, --quiet
-
make program silent
- -v, --verbose
-
make program more verbose
- -d, --daemon
-
make program go background
- --ini
-
show commented template config file.
Following switches are used to control already running process. The pidfile is read from config then signal is sent to process id specified there.
- -r, --reload
-
reload config (send SIGHUP)
- -s, --stop
-
stop program safely (send SIGINT)
- -k, --kill
-
kill program immidiately (send SIGTERM)
Options specific to scriptmgr:
- -a, --all
-
Operate on all non-disabled scripts.
- -t service, --type=service
-
Operate on all non-disabled scripts of this service type.
- -w, --wait
-
Wait for script(s) after signalling.