Skip to content

Commit 199299d

Browse files
authored
Merge pull request #8 from taskiq-python/feature/smart-pickling
Fixed return value pickling.
2 parents 81aea41 + 5ca322a commit 199299d

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

taskiq_redis/redis_backend.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,13 @@ async def set_result(
3232
:param task_id: ID of the task.
3333
:param result: TaskiqResult instance.
3434
"""
35-
result_dict = result.dict()
35+
result_dict = result.dict(exclude={"return_value"})
3636

3737
for result_key, result_value in result_dict.items():
3838
result_dict[result_key] = pickle.dumps(result_value)
39+
# This trick will preserve original returned value.
40+
# It helps when you return not serializable classes.
41+
result_dict["return_value"] = pickle.dumps(result.return_value)
3942

4043
async with Redis(connection_pool=self.redis_pool) as redis:
4144
await redis.hset(

0 commit comments

Comments
 (0)