blob: 9f576c0c074208507fadcdbd81c4a25c65b931b5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
#compdef supervisorctl
typeset -A opt_args
local context state line
_supervisorctl() {
_arguments -s -S \
{--configuration,-c}"[configuration file path (default /etc/supervisor.conf)]:FILENAME:_files" \
{--help,-h}"[print usage message and exit]:" \
{--interactive,-i}"[start an interactive shell after executing commands]" \
{--serverurl,-s}"[URL on which supervisord server is listening (default "http://localhost:9001").]" \
{--username,-u}"[username to use for authentication with server]:USERNAME:_users" \
{--password,-p}"[password to use for authentication with server]:PASSWORD:" \
{--history-file,-r}"[keep a readline history (if readline is available)]:FILENAME:_files" \
"*::supervisorctl commands:_supervisorctl_command"
}
(( $+functions[_supervisorctl_command] )) ||
_supervisorctl_command() {
local cmd ret=1
(( $+supervisorctl_cmds )) || _supervisorctl_cmds=(
"add:Activates any updates in config for process/group" \
"avail:Display all configured processes" \
"clear:Clear process/multiple-process/all-process log files" \
"exit:Exit the supervisor shell." \
"fg:Connect to a process in foreground mode" \
"maintail:tail of supervisor main log file" \
"open:Connect to a remote supervisord process. (for UNIX domain socket, use unix:///socket/path)" \
"pid:Get the PID of supervisord." \
"quit:Exit the supervisor shell." \
"reload:Restart the remote supervisord." \
"remove:Removes process/group from active config" \
"reread:Reload the daemon's configuration files" \
"restart:Restart process or group." \
"shutdown:Shut the remote supervisord down." \
"start:Start process or groups." \
"status:Get process status info." \
"stop:Stop process or group." \
"tail:tail of process stdout" \
"update:Reload config and add/remove as necessary" \
"version:Show the version of the remote supervisord process" \
"help:Show help" \
)
if (( CURRENT == 1 )); then
_describe -t commands 'supervisorctl subcommand' _supervisorctl_cmds \
|| compadd "$@" - ${(s.:.)${(j.:.)_supervisorctl_syns}}
else
local curcontext="$curcontext"
cmd="${${_supervisorctl_cmds[(r)$words[1]:*]%%:*}:-${(k)_supervisorctl_syns[(r)(*:|)$words[1](:*|)]}}"
if (( $#cmd )); then
curcontext="${curcontext%:*:*}:supervisorctl-${cmd}:"
_call_function ret _supervisorctl_$cmd || _message 'no more arguments'
else
_message "unknown supervisorctl command: $words[1]"
fi
return ret
fi
}
# get supervisor contoroll processes
(( $+functions[_get_supervisor_procs] )) ||
_get_supervisor_procs() {
local cache_policy
zstyle -s ":completion:${curcontext}:" cache-policy cache_policy
if [[ -z "$cache_policy" ]]; then
zstyle ":completion:${curcontext}:" cache-policy _supervisor_procs_caching_policy
fi
if ( [[ ${+_supervisor_procs} -eq 0 ]] || _cache_invalid supervisor_procs ) \
&& ! _retrieve_cache supervisor_procs; then
_supervisor_procs=(${${(f)"$(supervisorctl status >/dev/null 2>&1 | awk -F' ' '{print $1}')"}})
_store_cache supervisor_procs _supervisor_procs
fi
local expl
_wanted supervisor_procs expl 'supervisor processes' compadd -a _supervisor_procs
}
_supervisor_procs_caching_policy() {
local -a oldp
oldp=( "$1"(Nmw+1) )
(( $#oldp ))
}
(( $+functions[_supervisorctl_add] )) ||
_supervisorctl_add() {
_arguments -s \
"--help[use help system]" \
"*::supervisorctl commands:_supervisorctl"
}
(( $+functions[_supervisorctl_help] )) ||
_supervisorctl_help() {
_arguments -s \
"*:supervisorctl commands:_supervisorctl"
}
(( $+functions[_supervisorctl_maintail] )) ||
_supervisorctl_maintail() {
_arguments -s \
'-f[Continuous tail of supervisor main log file (Ctrl-C to exit)]'
}
(( $+functions[_supervisorctl_start] )) ||
_supervisorctl_start() {
# TODO: add 'all'
_arguments -s \
'*::supvervisor process:_get_supervisor_procs'
}
(( $+functions[_supervisorctl_restart] )) ||
_supervisorctl_restart() {
# TODO: add 'all'
_arguments -s \
'*::supvervisor process:_get_supervisor_procs'
}
(( $+functions[_supervisorctl_status] )) ||
_supervisorctl_status() {
_arguments \
'*::supvervisor process:_get_supervisor_procs'
}
(( $+functions[_supervisorctl_stop] )) ||
_supervisorctl_stop() {
# TODO: add 'all'
_arguments -s \
'*::supvervisor process:_get_supervisor_procs'
}
(( $+functions[_supervisorctl_tail] )) ||
_supervisorctl_tail() {
# TODO: add 'stderr'
_arguments -s \
'-f[Continuous tail of named process stdout Ctrl-C to exit.]' \
'*::supvervisor process:_get_supervisor_procs'
}
_supervisorctl "$@"
|