table of contents
SCRIPTMGR(1) | SCRIPTMGR(1) |
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
start¶
scriptmgr config.ini start -a scriptmgr config.ini start -t service scriptmgr config.ini start job_name1 job_name2 ...
stop¶
scriptmgr config.ini stop -a scriptmgr config.ini stop -t service scriptmgr config.ini stop job_name1 job_name2 ...
restart¶
scriptmgr config.ini restart -a scriptmgr config.ini restart -t service scriptmgr config.ini restart job_name1 job_name2 ...
reload¶
scriptmgr config.ini reload -a scriptmgr config.ini reload -t service scriptmgr config.ini reload job_name1 job_name2 ...
CONFIG¶
Common configuration parameters¶
job_nameName 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_listList of glob patterns for finding config files. Example:
config_list = ~/dbscripts/conf/*.ini, ~/random/conf/*.ini
Service section parameters¶
cwdWorking 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.
user
Launch service as different unix user. Scriptmgr uses
sudo to switch users. So it either needs to be run as root, or sudo config
must allow it to launch daemons.
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, --helpshow 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.
08/13/2014 |