mirror of
https://github.com/django-q2/django-q2.git
synced 2026-10-08 03:08:12 +08:00
replaced JsonPickle with cPickle for signed packages
This commit is contained in:
+1
-1
@@ -14,7 +14,7 @@ env:
|
|||||||
install:
|
install:
|
||||||
- pip install -q django==$DJANGO
|
- pip install -q django==$DJANGO
|
||||||
- pip install -r requirements.txt
|
- pip install -r requirements.txt
|
||||||
- pip install pytest-django simplejson pytz coverage coveralls
|
- pip install pytest-django pytz coverage coveralls
|
||||||
- python setup.py install
|
- python setup.py install
|
||||||
|
|
||||||
script:
|
script:
|
||||||
|
|||||||
+13
-8
@@ -6,8 +6,8 @@ from __future__ import absolute_import
|
|||||||
from builtins import dict
|
from builtins import dict
|
||||||
from builtins import range
|
from builtins import range
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from django.utils.timezone import make_aware
|
|
||||||
|
|
||||||
|
from django.utils.timezone import make_aware
|
||||||
from future import standard_library
|
from future import standard_library
|
||||||
|
|
||||||
standard_library.install_aliases()
|
standard_library.install_aliases()
|
||||||
@@ -23,8 +23,12 @@ import sys
|
|||||||
from time import sleep
|
from time import sleep
|
||||||
import gc
|
import gc
|
||||||
|
|
||||||
|
try:
|
||||||
|
import cPickle as pickle
|
||||||
|
except ImportError:
|
||||||
|
import pickle
|
||||||
|
|
||||||
# External
|
# External
|
||||||
import jsonpickle
|
|
||||||
import coloredlogs
|
import coloredlogs
|
||||||
import redis
|
import redis
|
||||||
|
|
||||||
@@ -55,6 +59,7 @@ def time_zone(value):
|
|||||||
return make_aware(value)
|
return make_aware(value)
|
||||||
return value
|
return value
|
||||||
|
|
||||||
|
|
||||||
class Cluster(object):
|
class Cluster(object):
|
||||||
def __init__(self, list_key=Q_LIST):
|
def __init__(self, list_key=Q_LIST):
|
||||||
try:
|
try:
|
||||||
@@ -341,17 +346,17 @@ class SignedPackage(object):
|
|||||||
key=SECRET_KEY,
|
key=SECRET_KEY,
|
||||||
salt='django_q.q',
|
salt='django_q.q',
|
||||||
compress=compressed,
|
compress=compressed,
|
||||||
serializer=JSONPickleSerializer)
|
serializer=PickleSerializer)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def loads(obj):
|
def loads(obj):
|
||||||
return signing.loads(obj,
|
return signing.loads(obj,
|
||||||
key=SECRET_KEY,
|
key=SECRET_KEY,
|
||||||
salt='django_q.q',
|
salt='django_q.q',
|
||||||
serializer=JSONPickleSerializer)
|
serializer=PickleSerializer)
|
||||||
|
|
||||||
|
|
||||||
class JSONPickleSerializer(object):
|
class PickleSerializer(object):
|
||||||
"""
|
"""
|
||||||
Simple wrapper around JsonPickle for signing.dumps and
|
Simple wrapper around JsonPickle for signing.dumps and
|
||||||
signing.loads.
|
signing.loads.
|
||||||
@@ -359,11 +364,11 @@ class JSONPickleSerializer(object):
|
|||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def dumps(obj):
|
def dumps(obj):
|
||||||
return jsonpickle.dumps(obj).encode('latin-1')
|
return pickle.dumps(obj)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def loads(data):
|
def loads(data):
|
||||||
return jsonpickle.loads(data.decode('latin-1'))
|
return pickle.loads(data)
|
||||||
|
|
||||||
|
|
||||||
class Status(object):
|
class Status(object):
|
||||||
@@ -383,7 +388,7 @@ class Status(object):
|
|||||||
|
|
||||||
|
|
||||||
class Stat(Status):
|
class Stat(Status):
|
||||||
def __init__(self, sentinel, message=None):
|
def __init__(self, sentinel, message=None):
|
||||||
super(Stat, self).__init__(sentinel.parent_pid)
|
super(Stat, self).__init__(sentinel.parent_pid)
|
||||||
if message:
|
if message:
|
||||||
sentinel.status = message
|
sentinel.status = message
|
||||||
|
|||||||
@@ -4,6 +4,5 @@ django-picklefield==0.3.1
|
|||||||
Django==1.8.2
|
Django==1.8.2
|
||||||
future==0.14.3
|
future==0.14.3
|
||||||
hiredis==0.2.0
|
hiredis==0.2.0
|
||||||
jsonpickle==0.9.2
|
|
||||||
redis==2.10.3
|
redis==2.10.3
|
||||||
|
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ setup(
|
|||||||
license='MIT',
|
license='MIT',
|
||||||
description='A multiprocessing task queue for Django',
|
description='A multiprocessing task queue for Django',
|
||||||
long_description=README,
|
long_description=README,
|
||||||
install_requires=['django>=1.7', 'redis', 'coloredlogs', 'django-picklefield', 'jsonpickle', 'blessed'],
|
install_requires=['django>=1.7', 'redis', 'coloredlogs', 'django-picklefield', 'blessed'],
|
||||||
cmdclass={'test': PyTest},
|
cmdclass={'test': PyTest},
|
||||||
classifiers=[
|
classifiers=[
|
||||||
'Development Status :: 2 - PreAlpha',
|
'Development Status :: 2 - PreAlpha',
|
||||||
|
|||||||
Reference in New Issue
Block a user