mirror of
https://github.com/zulip/zulip.git
synced 2025-11-13 18:36:36 +00:00
Use django.utils.autoreload to restart queue workers at code change.
Fixes #621, #1045.
This commit is contained in:
@@ -6,6 +6,7 @@ from argparse import ArgumentParser
|
|||||||
from django.core.management.base import BaseCommand
|
from django.core.management.base import BaseCommand
|
||||||
from django.core.management import CommandError
|
from django.core.management import CommandError
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
from django.utils import autoreload
|
||||||
from zerver.worker.queue_processors import get_worker, get_active_worker_queues
|
from zerver.worker.queue_processors import get_worker, get_active_worker_queues
|
||||||
import sys
|
import sys
|
||||||
import signal
|
import signal
|
||||||
@@ -32,11 +33,14 @@ class Command(BaseCommand):
|
|||||||
logger.error("Cannot run a queue processor when USING_RABBITMQ is False!")
|
logger.error("Cannot run a queue processor when USING_RABBITMQ is False!")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
if options['all']:
|
def run_threaded_workers(logger):
|
||||||
for queue_name in get_active_worker_queues():
|
for queue_name in get_active_worker_queues():
|
||||||
logger.info('launching queue worker thread ' + queue_name)
|
logger.info('launching queue worker thread ' + queue_name)
|
||||||
td = Threaded_worker(queue_name)
|
td = Threaded_worker(queue_name)
|
||||||
td.start()
|
td.start()
|
||||||
|
|
||||||
|
if options['all']:
|
||||||
|
autoreload.main(run_threaded_workers, (logger,))
|
||||||
else:
|
else:
|
||||||
queue_name = options['queue_name']
|
queue_name = options['queue_name']
|
||||||
worker_num = options['worker_num']
|
worker_num = options['worker_num']
|
||||||
|
|||||||
Reference in New Issue
Block a user