mirror of
https://github.com/ZwareBear/awx.git
synced 2026-04-05 15:41:49 -05:00
add support for awx-manage run_callback_receiver --status
This commit is contained in:
@@ -15,18 +15,19 @@ class Control(object):
|
||||
services = ('dispatcher', 'callback_receiver')
|
||||
result = None
|
||||
|
||||
def __init__(self, service, host=None):
|
||||
def __init__(self, service, queuename=None, routing_key=None):
|
||||
if service not in self.services:
|
||||
raise RuntimeError('{} must be in {}'.format(service, self.services))
|
||||
self.service = service
|
||||
self.queuename = host or get_local_queuename()
|
||||
self.queue = Queue(self.queuename, Exchange(self.queuename), routing_key=self.queuename)
|
||||
self.queuename = queuename or get_local_queuename()
|
||||
self.routing_key = routing_key or self.queuename
|
||||
self.queue = Queue(self.queuename, Exchange(self.queuename), routing_key=self.routing_key)
|
||||
|
||||
def publish(self, msg, conn, **kwargs):
|
||||
producer = Producer(
|
||||
exchange=self.queue.exchange,
|
||||
channel=conn,
|
||||
routing_key=self.queuename
|
||||
routing_key=self.routing_key
|
||||
)
|
||||
producer.publish(msg, expiration=5, **kwargs)
|
||||
|
||||
|
||||
@@ -280,6 +280,11 @@ class WorkerPool(object):
|
||||
logger.exception('could not kill {}'.format(worker.pid))
|
||||
|
||||
|
||||
def cleanup(self):
|
||||
for worker in self.workers:
|
||||
worker.calculate_managed_tasks()
|
||||
|
||||
|
||||
class AutoscalePool(WorkerPool):
|
||||
'''
|
||||
An extended pool implementation that automatically scales workers up and
|
||||
|
||||
@@ -56,8 +56,18 @@ class AWXConsumer(ConsumerMixin):
|
||||
|
||||
@property
|
||||
def listening_on(self):
|
||||
def qname(q):
|
||||
if q.routing_key != q.name:
|
||||
return ':'.join([q.name, q.routing_key])
|
||||
return q.name
|
||||
|
||||
def qtype(q):
|
||||
if q.exchange.type != 'direct':
|
||||
return ' [{}]'.format(q.exchange.type)
|
||||
return ''
|
||||
|
||||
return 'listening on {}'.format([
|
||||
'{} [{}]'.format(q.name, q.exchange.type) for q in self.queues
|
||||
'{}{}'.format(qname(q), qtype(q)) for q in self.queues
|
||||
])
|
||||
|
||||
def control(self, body, message):
|
||||
|
||||
Reference in New Issue
Block a user