move broadcast websocket out into its own process

This commit is contained in:
chris meyers
2020-02-14 16:12:04 -05:00
committed by Ryan Petrello
parent f5193e5ea5
commit 3c5c9c6fde
13 changed files with 76 additions and 57 deletions

View File

@@ -0,0 +1,27 @@
# Copyright (c) 2015 Ansible, Inc.
# All Rights Reserved.
import logging
import asyncio
from django.core.management.base import BaseCommand
from awx.main.wsbroadcast import BroadcastWebsocketManager
logger = logging.getLogger('awx.main.wsbroadcast')
class Command(BaseCommand):
help = 'Launch the websocket broadcaster'
def handle(self, *arg, **options):
try:
broadcast_websocket_mgr = BroadcastWebsocketManager()
task = broadcast_websocket_mgr.start()
loop = asyncio.get_event_loop()
loop.run_until_complete(task)
except KeyboardInterrupt:
logger.debug('Terminating Websocket Broadcaster')
if broadcast_websocket_mgr:
broadcast_websocket_mgr.stop()