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
49 lines
1.1 KiB
YAML
49 lines
1.1 KiB
YAML
version: '2'
|
|
services:
|
|
# Primary AWX Development Container
|
|
awx:
|
|
image: ${DEV_DOCKER_TAG_BASE}/awx_devel:${TAG}
|
|
hostname: awx
|
|
environment:
|
|
RABBITMQ_HOST: rabbitmq
|
|
RABBITMQ_USER: guest
|
|
RABBITMQ_PASS: guest
|
|
RABBITMQ_VHOST: /
|
|
SDB_HOST: 0.0.0.0
|
|
AWX_GROUP_QUEUES: tower
|
|
ports:
|
|
- "8888:8888"
|
|
- "8080:8080"
|
|
- "8013:8013"
|
|
- "8043:8043"
|
|
- "6899-6999:6899-6999" # default port range for sdb-listen
|
|
links:
|
|
- postgres
|
|
- memcached
|
|
- rabbitmq
|
|
# - sync
|
|
# volumes_from:
|
|
# - sync
|
|
volumes:
|
|
- "../:/awx_devel"
|
|
privileged: true
|
|
# A useful container that simply passes through log messages to the console
|
|
# helpful for testing awx/tower logging
|
|
# logstash:
|
|
# build:
|
|
# context: ./docker-compose
|
|
# dockerfile: Dockerfile-logstash
|
|
# Postgres Database Container
|
|
postgres:
|
|
image: postgres:9.6
|
|
ports:
|
|
- "5432:5432"
|
|
memcached:
|
|
image: memcached:alpine
|
|
ports:
|
|
- "11211:11211"
|
|
rabbitmq:
|
|
image: rabbitmq:3-management
|
|
ports:
|
|
- "15672:15672"
|