From fb7c3ebd266046ca739446b7868e8e8f82646fc6 Mon Sep 17 00:00:00 2001 From: Brian Tiemann Date: Thu, 21 Nov 2024 09:51:09 -0500 Subject: [PATCH] Wait until job1 exists in Redis before enqueueing job2 --- netbox/netbox/tests/test_jobs.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/netbox/netbox/tests/test_jobs.py b/netbox/netbox/tests/test_jobs.py index 52a7bd97a..eb8afe3db 100644 --- a/netbox/netbox/tests/test_jobs.py +++ b/netbox/netbox/tests/test_jobs.py @@ -1,8 +1,11 @@ +import time from datetime import timedelta +from redis import Redis from django.test import TestCase from django.utils import timezone from django_rq import get_queue +from rq.job import Job as RQJob from ..jobs import * from core.models import DataSource, Job @@ -121,7 +124,15 @@ class EnqueueTest(JobRunnerTestCase): def test_enqueue_once_after_enqueue(self): instance = DataSource() + redis = Redis() job1 = TestJobRunner.enqueue(instance, schedule_at=self.get_schedule_at()) + job1_rq = None + max_sleep = 5 + sleep_count = 0 + while job1_rq is None and sleep_count < max_sleep: + job1_rq = RQJob.fetch(str(job1.job_id), connection=redis) + time.sleep(1) + sleep_count += 1 job2 = TestJobRunner.enqueue_once(instance, schedule_at=self.get_schedule_at(2)) self.assertNotEqual(job1, job2)