mirror of
https://github.com/ansible/awx.git
synced 2024-10-31 23:51:09 +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
74 lines
1.5 KiB
Plaintext
74 lines
1.5 KiB
Plaintext
[supervisord]
|
|
umask = 022
|
|
minfds = 4096
|
|
nodaemon=true
|
|
|
|
[program:dispatcher]
|
|
command = awx-manage run_dispatcher
|
|
autostart = true
|
|
autorestart = true
|
|
redirect_stderr=true
|
|
stdout_logfile=/dev/fd/1
|
|
stdout_logfile_maxbytes=0
|
|
|
|
[program:receiver]
|
|
command = python manage.py run_callback_receiver
|
|
autostart = true
|
|
autorestart = true
|
|
redirect_stderr=true
|
|
stdout_logfile=/dev/fd/1
|
|
stdout_logfile_maxbytes=0
|
|
|
|
[program:runworker]
|
|
command = python manage.py runworker
|
|
autostart = true
|
|
autorestart = true
|
|
redirect_stderr=true
|
|
stdout_logfile=/dev/fd/1
|
|
stdout_logfile_maxbytes=0
|
|
|
|
[program:uwsgi]
|
|
command = make uwsgi
|
|
autostart = true
|
|
autorestart = true
|
|
redirect_stderr=true
|
|
stdout_logfile=/dev/fd/1
|
|
stdout_logfile_maxbytes=0
|
|
|
|
[program:daphne]
|
|
command = daphne -b 0.0.0.0 -p 8051 awx.asgi:channel_layer
|
|
autostart = true
|
|
autorestart = true
|
|
redirect_stderr=true
|
|
stdout_logfile=/dev/fd/1
|
|
stdout_logfile_maxbytes=0
|
|
|
|
[program:nginx]
|
|
command = nginx -g "daemon off;"
|
|
autostart = true
|
|
autorestart = true
|
|
redirect_stderr=true
|
|
stdout_logfile=/dev/fd/1
|
|
stdout_logfile_maxbytes=0
|
|
|
|
[program:jupyter]
|
|
command = make jupyter
|
|
autostart = true
|
|
autorestart = true
|
|
redirect_stderr=true
|
|
stdout_logfile=/dev/fd/1
|
|
stdout_logfile_maxbytes=0
|
|
|
|
[group:awx-processes]
|
|
programs=dispatcher,receiver,runworker,uwsgi,daphne,nginx
|
|
priority=5
|
|
|
|
[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
|