#11558: Disable sync button if RQ worker not running

This commit is contained in:
jeremystretch
2023-03-20 15:12:11 -04:00
parent 13d604d44e
commit 08bdb54cb4
6 changed files with 43 additions and 12 deletions

View File

@@ -0,0 +1,24 @@
from django_rq.queues import get_connection
from rq import Worker
from netbox.config import get_config
from netbox.constants import RQ_QUEUE_DEFAULT
__all__ = (
'get_queue_for_model',
'get_workers_for_queue',
)
def get_queue_for_model(model):
"""
Return the configured queue name for jobs associated with the given model.
"""
return get_config().QUEUE_MAPPINGS.get(model, RQ_QUEUE_DEFAULT)
def get_workers_for_queue(queue_name):
"""
Returns True if a worker process is currently servicing the specified queue.
"""
return Worker.count(get_connection(queue_name))