SYNOPSIS
-
scriptmgr.py [switches] config.ini <command> [-a | 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 eg [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 job_name1 job_name2 ...
launch script(s) that are not running.
stop
-
scriptmgr config.ini stop -a scriptmgr config.ini stop job_name1 job_name2 ...
stop script(s) that are running.
restart
-
scriptmgr config.ini restart -a scriptmgr config.ini restart job_name1 job_name2 ...
restart scripts.
reload
-
scriptmgr config.ini reload -a 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 patters 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
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.