diff --git a/rq/queue.py b/rq/queue.py index ff5f860..7dfb0f8 100644 --- a/rq/queue.py +++ b/rq/queue.py @@ -190,7 +190,7 @@ class Queue(object): # modifying the dependency. In this case we simply retry if depends_on is not None: if not isinstance(depends_on, self.job_class): - depends_on = Job.fetch(id=depends_on, connection=self.connection) + depends_on = Job(id=depends_on, connection=self.connection) with self.connection.pipeline() as pipe: while True: try: diff --git a/tests/test_queue.py b/tests/test_queue.py index 8990e35..ed42204 100644 --- a/tests/test_queue.py +++ b/tests/test_queue.py @@ -355,9 +355,7 @@ class TestQueue(RQTestCase): def test_enqueue_job_with_dependency_by_id(self): """Enqueueing jobs should work as expected by id as well as job-objects.""" parent_job = Job.create(func=say_hello) - # We need to save the job for the ID to exist in redis - parent_job.save() - + q = Queue() q.enqueue_call(say_hello, depends_on=parent_job.id) self.assertEqual(q.job_ids, [])