scriptmgr.py [switches] config.ini <command> [-a | job_name ... ]
DESCRIPTIONscriptmgr 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.
scriptmgr config.ini status
Show status for all known jobs.
scriptmgr config.ini start -a scriptmgr config.ini start job_name1 job_name2 ...
launch script(s) that are not running.
scriptmgr config.ini stop -a scriptmgr config.ini stop job_name1 job_name2 ...
stop script(s) that are running.
scriptmgr config.ini restart -a scriptmgr config.ini restart job_name1 job_name2 ...
scriptmgr config.ini reload -a scriptmgr config.ini reload job_name1 job_name2 ...
Send SIGHUP to scripts that are running.
Common configuration parameters
- 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.
- Location for pid file. If not given, script is disallowed to daemonize.
- Location for log file.
- If continuisly running process, how long to sleep after each work loop, in seconds. Default: 1.
- Close and reconnect older database connections.
List of glob patters for finding config files. Example:
config_list = ~/dbscripts/conf/*.ini, ~/random/conf/*.ini
Service section parameters
- Working directory for script.
- Arguments to give to script, in addition to -d.
- Path to script. Unless script is in PATH, full path should be given.
- 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 SWITCHESFollowing switches are common to all skytools.DBScript-based Python programs.
- show help message and exit
- make program silent
- make program more verbose
- 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.
- reload config (send SIGHUP)
- stop program safely (send SIGINT)
- kill program immidiately (send SIGTERM)
Options specific to scriptmgr:
- Operate on all non-disabled scripts.