summaryrefslogtreecommitdiff
path: root/rq/results.py
diff options
context:
space:
mode:
Diffstat (limited to 'rq/results.py')
-rw-r--r--rq/results.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/rq/results.py b/rq/results.py
index 55ee971..fdbb763 100644
--- a/rq/results.py
+++ b/rq/results.py
@@ -6,6 +6,7 @@ from datetime import datetime, timezone
from enum import Enum
from redis import Redis
+from .defaults import UNSERIALIZABLE_RETURN_VALUE_PAYLOAD
from .utils import decode_redis_hash
from .job import Job
from .serializers import resolve_serializer
@@ -181,7 +182,11 @@ class Result:
if self.exc_string is not None:
data['exc_string'] = b64encode(zlib.compress(self.exc_string.encode())).decode()
- serialized = self.serializer.dumps(self.return_value)
+ try:
+ serialized = self.serializer.dumps(self.return_value)
+ except: # noqa
+ serialized = self.serializer.dumps(UNSERIALIZABLE_RETURN_VALUE_PAYLOAD)
+
if self.return_value is not None:
data['return_value'] = b64encode(serialized).decode()