mirror of https://github.com/rq/rq.git
Always call job.save even on synchronous queues so get_current_job doesn't fail
This commit is contained in:
parent
10237ddcb4
commit
f498de57b6
|
@ -172,9 +172,9 @@ class Queue(object):
|
|||
job.timeout = timeout # _timeout_in_seconds(timeout)
|
||||
else:
|
||||
job.timeout = 180 # default
|
||||
job.save()
|
||||
|
||||
if self._async:
|
||||
job.save()
|
||||
self.push_job_id(job.id)
|
||||
else:
|
||||
job.perform()
|
||||
|
|
|
@ -6,6 +6,7 @@ from tests.helpers import strip_milliseconds
|
|||
from cPickle import loads
|
||||
from rq.job import Job, get_current_job
|
||||
from rq.exceptions import NoSuchJobError, UnpickleError
|
||||
from rq.queue import Queue
|
||||
|
||||
|
||||
class TestJob(RQTestCase):
|
||||
|
@ -211,3 +212,10 @@ class TestJob(RQTestCase):
|
|||
id = job.perform()
|
||||
self.assertEqual(job.id, id)
|
||||
self.assertEqual(job.func, access_self)
|
||||
|
||||
# Ensure that get_current_job also works from within synchronous jobs
|
||||
queue = Queue(async=False)
|
||||
job = queue.enqueue(access_self)
|
||||
id = job.perform()
|
||||
self.assertEqual(job.id, id)
|
||||
self.assertEqual(job.func, access_self)
|
||||
|
|
Loading…
Reference in New Issue