From 23d1213c9c415cab1329b69e7e6c93d43e140223 Mon Sep 17 00:00:00 2001 From: dianbofa Date: Wed, 7 May 2025 19:23:13 +0800 Subject: [PATCH] feat(core): Add queue_name parameter to Job.enqueue() method - Added the queue_name parameter to Job.enqueue(), allowing users to specify an existing queue name. - If queue_name is not provided, the default model queue will be used. - This enhancement improves job scheduling flexibility by enabling targeted execution in specific queues. --- netbox/core/models/jobs.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/netbox/core/models/jobs.py b/netbox/core/models/jobs.py index 5caa9cc2d3b..00626b839ae 100644 --- a/netbox/core/models/jobs.py +++ b/netbox/core/models/jobs.py @@ -212,6 +212,7 @@ def enqueue( schedule_at=None, interval=None, immediate=False, + queue_name=None, **kwargs ): """ @@ -235,7 +236,7 @@ def enqueue( object_id = instance.pk else: object_type = object_id = None - rq_queue_name = get_queue_for_model(object_type.model if object_type else None) + rq_queue_name = queue_name if queue_name else get_queue_for_model(object_type.model if object_type else None) queue = django_rq.get_queue(rq_queue_name) status = JobStatusChoices.STATUS_SCHEDULED if schedule_at else JobStatusChoices.STATUS_PENDING job = Job(