summaryrefslogtreecommitdiff
path: root/rq/serializers.py
diff options
context:
space:
mode:
authorBo Bayles <bbayles@gmail.com>2020-05-16 05:42:07 -0500
committerGitHub <noreply@github.com>2020-05-16 17:42:07 +0700
commitf0846a764545228d0551ec51c4c7441f2aa2a65a (patch)
treee383df6ddaf56e45e2297d16bef1990920119f9e /rq/serializers.py
parent5859339a51e5f5d902d1d07603f41d95008e1065 (diff)
downloadrq-f0846a764545228d0551ec51c4c7441f2aa2a65a.tar.gz
Use pickle.HIGHEST_PROTOCOL by default (#1254)
Diffstat (limited to 'rq/serializers.py')
-rw-r--r--rq/serializers.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/rq/serializers.py b/rq/serializers.py
index c4b0e54..27f892f 100644
--- a/rq/serializers.py
+++ b/rq/serializers.py
@@ -1,9 +1,15 @@
+from functools import partial
import pickle
from .compat import string_types
from .utils import import_attribute
+class DefaultSerializer:
+ dumps = partial(pickle.dumps, protocol=pickle.HIGHEST_PROTOCOL)
+ loads = pickle.loads
+
+
def resolve_serializer(serializer):
"""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
@@ -11,7 +17,7 @@ def resolve_serializer(serializer):
Also accepts a string path to serializer that will be loaded as the serializer
"""
if not serializer:
- return pickle
+ return DefaultSerializer
if isinstance(serializer, string_types):
serializer = import_attribute(serializer)