combine all the broker replacement pieces

* local redis for event processing
* postgres for message broker
* redis for websockets
This commit is contained in:
chris meyers
2020-01-08 15:44:04 -05:00
committed by Ryan Petrello
parent 558e92806b
commit 2a2c34f567
14 changed files with 188 additions and 343 deletions

View File

@@ -5,7 +5,7 @@ from django.conf import settings
from django.core.management.base import BaseCommand
from kombu import Exchange, Queue, Connection
from awx.main.dispatch.worker import AWXRedisConsumer, CallbackBrokerWorker
from awx.main.dispatch.worker import AWXConsumerRedis, CallbackBrokerWorker
class Command(BaseCommand):
@@ -20,7 +20,7 @@ class Command(BaseCommand):
with Connection(settings.BROKER_URL, transport_options=settings.BROKER_TRANSPORT_OPTIONS) as conn:
consumer = None
try:
consumer = AWXRedisConsumer(
consumer = AWXConsumerRedis(
'callback_receiver',
conn,
CallbackBrokerWorker(),

View File

@@ -62,18 +62,17 @@ class Command(BaseCommand):
# in cpython itself:
# https://bugs.python.org/issue37429
AWXProxyHandler.disable()
with Connection(settings.BROKER_URL, transport_options=settings.BROKER_TRANSPORT_OPTIONS) as conn:
try:
queues = ['tower_broadcast_all'] + settings.AWX_CELERY_QUEUES_STATIC + [get_local_queuename()]
consumer = AWXConsumerPG(
'dispatcher',
conn,
TaskWorker(),
queues,
AutoscalePool(min_workers=4)
)
consumer.run()
except KeyboardInterrupt:
logger.debug('Terminating Task Dispatcher')
if consumer:
consumer.stop()
try:
queues = ['tower_broadcast_all'] + settings.AWX_CELERY_QUEUES_STATIC + [get_local_queuename()]
consumer = AWXConsumerPG(
'dispatcher',
None,
TaskWorker(),
queues,
AutoscalePool(min_workers=4)
)
consumer.run()
except KeyboardInterrupt:
logger.debug('Terminating Task Dispatcher')
if consumer:
consumer.stop()