diff options
author | Selwin Ong <selwin.ong@gmail.com> | 2023-02-05 19:24:15 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-05 19:24:15 +0700 |
commit | acdeff385daf5157e6646dfb47a02f92e6b19b3a (patch) | |
tree | b85fa6a3d02a1b232d91bea3df0be65a3f1b9e31 /rq | |
parent | 54db2fa8d1af221485870ddf7c5707cd704c73c7 (diff) | |
download | rq-acdeff385daf5157e6646dfb47a02f92e6b19b3a.tar.gz |
Use job.return_value() instead of job.result when processing callbacks (#1801)
* Use job.return_value() instead of job.result when processing callbacks
* job.return_value() should also support Redis server < 5.
Diffstat (limited to 'rq')
-rw-r--r-- | rq/job.py | 8 | ||||
-rw-r--r-- | rq/queue.py | 4 |
2 files changed, 10 insertions, 2 deletions
@@ -743,6 +743,14 @@ class Job: self._cached_result = None if not self.supports_redis_streams: + if self._result is not None: + return self._result + + rv = self.connection.hget(self.key, 'result') + if rv is not None: + # cache the result + self._result = self.serializer.loads(rv) + return self._result return None if not self._cached_result: diff --git a/rq/queue.py b/rq/queue.py index 3b3e7b0..bde1ceb 100644 --- a/rq/queue.py +++ b/rq/queue.py @@ -1035,10 +1035,10 @@ class Queue: pipeline.execute() if job.failure_callback: - job.failure_callback(job, self.connection, *sys.exc_info()) + job.failure_callback(job, self.connection, *sys.exc_info()) # type: ignore else: if job.success_callback: - job.success_callback(job, self.connection, job.result) + job.success_callback(job, self.connection, job.return_value()) # type: ignore return job |