delete dependents and delete in cleanup. Fixed tests.

main
glaslos 9 years ago
parent d2eeb3b3db
commit 0a6df13d9d

@ -481,6 +481,7 @@ class Job(object):
self.cancel() self.cancel()
connection = pipeline if pipeline is not None else self.connection connection = pipeline if pipeline is not None else self.connection
connection.delete(self.key) connection.delete(self.key)
connection.delete(self.dependents_key)
# Job execution # Job execution
def perform(self): # noqa def perform(self): # noqa
@ -535,7 +536,7 @@ class Job(object):
forever) forever)
""" """
if ttl == 0: if ttl == 0:
self.cancel() self.delete()
elif not ttl: elif not ttl:
return return
elif ttl > 0: elif ttl > 0:

@ -378,13 +378,13 @@ class TestJob(RQTestCase):
self.assertEqual(as_text(self.testconn.spop('rq:job:id:dependents')), job.id) self.assertEqual(as_text(self.testconn.spop('rq:job:id:dependents')), job.id)
self.assertEqual(registry.get_job_ids(), [job.id]) self.assertEqual(registry.get_job_ids(), [job.id])
def test_cancel(self): def test_delete(self):
"""job.cancel() deletes itself & dependents mapping from Redis.""" """job.delete() deletes itself & dependents mapping from Redis."""
queue = Queue(connection=self.testconn) queue = Queue(connection=self.testconn)
job = queue.enqueue(fixtures.say_hello) job = queue.enqueue(fixtures.say_hello)
job2 = Job.create(func=fixtures.say_hello, depends_on=job) job2 = Job.create(func=fixtures.say_hello, depends_on=job)
job2.register_dependency() job2.register_dependency()
job.cancel() job.delete()
self.assertFalse(self.testconn.exists(job.key)) self.assertFalse(self.testconn.exists(job.key))
self.assertFalse(self.testconn.exists(job.dependents_key)) self.assertFalse(self.testconn.exists(job.dependents_key))

@ -88,10 +88,8 @@ class TestQueue(RQTestCase):
job = q.enqueue(say_hello) job = q.enqueue(say_hello)
self.assertEqual(q.jobs, [job]) self.assertEqual(q.jobs, [job])
# Fetching a deleted removes it from queue # Deleting job removes it from queue
job.delete() job.delete()
self.assertEqual(q.job_ids, [job.id])
q.jobs
self.assertEqual(q.job_ids, []) self.assertEqual(q.job_ids, [])
def test_compact(self): def test_compact(self):

Loading…
Cancel
Save