mirror of
https://github.com/ansible/awx.git
synced 2024-11-02 01:21:21 +03:00
ff1e8cc356
this commit implements the bulk of `awx-manage run_dispatcher`, a new command that binds to RabbitMQ via kombu and balances messages across a pool of workers that are similar to celeryd workers in spirit. Specifically, this includes: - a new decorator, `awx.main.dispatch.task`, which can be used to decorate functions or classes so that they can be designated as "Tasks" - support for fanout/broadcast tasks (at this point in time, only `conf.Setting` memcached flushes use this functionality) - support for job reaping - support for success/failure hooks for job runs (i.e., `handle_work_success` and `handle_work_error`) - support for auto scaling worker pool that scale processes up and down on demand - minimal support for RPC, such as status checks and pool recycle/reload
63 lines
1.5 KiB
Plaintext
63 lines
1.5 KiB
Plaintext
[supervisord]
|
|
nodaemon = True
|
|
umask = 022
|
|
|
|
[program:dispatcher]
|
|
command = awx-manage run_dispatcher
|
|
directory = /var/lib/awx
|
|
environment = LANGUAGE="en_US.UTF-8",LANG="en_US.UTF-8",LC_ALL="en_US.UTF-8",LC_CTYPE="en_US.UTF-8"
|
|
#user = {{ aw_user }}
|
|
autostart = true
|
|
autorestart = true
|
|
stopwaitsecs = 5
|
|
stdout_logfile=/dev/stdout
|
|
stdout_logfile_maxbytes=0
|
|
stderr_logfile=/dev/stderr
|
|
stderr_logfile_maxbytes=0
|
|
|
|
[program:callback-receiver]
|
|
command = awx-manage run_callback_receiver
|
|
directory = /var/lib/awx
|
|
autostart = true
|
|
autorestart = true
|
|
stopwaitsecs = 5
|
|
stdout_logfile=/dev/stdout
|
|
stdout_logfile_maxbytes=0
|
|
stderr_logfile=/dev/stderr
|
|
stderr_logfile_maxbytes=0
|
|
|
|
[program:channels-worker]
|
|
command = awx-manage runworker --only-channels websocket.*
|
|
directory = /var/lib/awx
|
|
autostart = true
|
|
autorestart = true
|
|
stopwaitsecs = 5
|
|
stdout_logfile=/dev/stdout
|
|
stdout_logfile_maxbytes=0
|
|
stderr_logfile=/dev/stderr
|
|
stderr_logfile_maxbytes=0
|
|
|
|
[group:tower-processes]
|
|
programs=dispatcher,callback-receiver,channels-worker
|
|
priority=5
|
|
|
|
# TODO: Exit Handler
|
|
|
|
[eventlistener:awx-config-watcher]
|
|
command=/usr/bin/config-watcher
|
|
stderr_logfile=/dev/stdout
|
|
stderr_logfile_maxbytes=0
|
|
stdout_logfile=/dev/stdout
|
|
stdout_logfile_maxbytes=0
|
|
events=TICK_60
|
|
priority=0
|
|
|
|
[unix_http_server]
|
|
file=/tmp/supervisor.sock
|
|
|
|
[supervisorctl]
|
|
serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket
|
|
|
|
[rpcinterface:supervisor]
|
|
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|