diff options
Diffstat (limited to 'rq/serializers.py')
-rw-r--r-- | rq/serializers.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/rq/serializers.py b/rq/serializers.py index 00fd0a7..9e63bc7 100644 --- a/rq/serializers.py +++ b/rq/serializers.py @@ -1,6 +1,7 @@ from functools import partial import pickle import json +from typing import Optional, Union from .utils import import_attribute @@ -20,11 +21,17 @@ class JSONSerializer(): return json.loads(s.decode('utf-8'), *args, **kwargs) -def resolve_serializer(serializer: str): +def resolve_serializer(serializer=None): """This function checks the user defined serializer for ('dumps', 'loads') methods It returns a default pickle serializer if not found else it returns a MySerializer The returned serializer objects implement ('dumps', 'loads') methods - Also accepts a string path to serializer that will be loaded as the serializer + Also accepts a string path to serializer that will be loaded as the serializer. + + Args: + serializer (Callable): The serializer to resolve. + + Returns: + serializer (Callable): An object that implements the SerializerProtocol """ if not serializer: return DefaultSerializer |