From 17671f1a64c70704d5ab64c0ca6d987bbd32e8a3 Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Fri, 26 Dec 2014 12:42:43 +0100 Subject: [PATCH 1/5] change default serializer to json --- gvafile/gvafile/settings/base.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gvafile/gvafile/settings/base.py b/gvafile/gvafile/settings/base.py index ccdea65..ef96035 100644 --- a/gvafile/gvafile/settings/base.py +++ b/gvafile/gvafile/settings/base.py @@ -282,6 +282,6 @@ BROKER_URL = get_env_setting('GVAFILE_BROKER_URL') CELERY_RESULT_BACKEND = 'amqp' CELERY_RESULT_PERSISTENT = True CELERY_TASK_RESULT_EXPIRES = None -CELERY_ACCEPT_CONTENT = ['yaml'] -CELERY_RESULT_SERIALIZER = 'yaml' +CELERY_ACCEPT_CONTENT = ['yaml', 'json'] +CELERY_RESULT_SERIALIZER = 'json' ########## END CELERY CONFIGURATION From 7a47cc9a17a1b0ff2c7f26ebc494025e37452a34 Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Fri, 26 Dec 2014 12:56:32 +0100 Subject: [PATCH 2/5] define CELERY_TASK_SERIALIZER --- gvafile/gvafile/settings/base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/gvafile/gvafile/settings/base.py b/gvafile/gvafile/settings/base.py index ef96035..5fd8143 100644 --- a/gvafile/gvafile/settings/base.py +++ b/gvafile/gvafile/settings/base.py @@ -283,5 +283,6 @@ CELERY_RESULT_BACKEND = 'amqp' CELERY_RESULT_PERSISTENT = True CELERY_TASK_RESULT_EXPIRES = None CELERY_ACCEPT_CONTENT = ['yaml', 'json'] +CELERY_TASK_SERIALIZER = 'json' CELERY_RESULT_SERIALIZER = 'json' ########## END CELERY CONFIGURATION From e04d9f586be2be3a2df0db3ba1ae4f36e3e9665a Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Fri, 26 Dec 2014 13:14:09 +0100 Subject: [PATCH 3/5] define celery routing --- gvafile/gvafile/settings/base.py | 4 ++++ gvafile/osusers/tasks.py | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/gvafile/gvafile/settings/base.py b/gvafile/gvafile/settings/base.py index 5fd8143..9b57ca0 100644 --- a/gvafile/gvafile/settings/base.py +++ b/gvafile/gvafile/settings/base.py @@ -282,6 +282,10 @@ BROKER_URL = get_env_setting('GVAFILE_BROKER_URL') CELERY_RESULT_BACKEND = 'amqp' CELERY_RESULT_PERSISTENT = True CELERY_TASK_RESULT_EXPIRES = None +CELERY_ROUTES = ( + 'osusers.tasks.LdapRouter', + 'osusers.tasks.FileRouter', +) CELERY_ACCEPT_CONTENT = ['yaml', 'json'] CELERY_TASK_SERIALIZER = 'json' CELERY_RESULT_SERIALIZER = 'json' diff --git a/gvafile/osusers/tasks.py b/gvafile/osusers/tasks.py index e386a99..ada2e84 100644 --- a/gvafile/osusers/tasks.py +++ b/gvafile/osusers/tasks.py @@ -25,6 +25,26 @@ SETFACL_CMD = '/usr/bin/setfacl' RM_CMD = '/bin/rm' +class LdapRouter(object): + + def route_for_task(self, task, args=None, kwargs=None): + if 'ldap' in task: + return {'exchange': 'ldap', + 'exchange_type': 'direct', + 'queue': 'ldap'} + return None + + +class FileRouter(object): + + def route_for_task(self, task, args=None, kwargs=None): + if 'file' in task: + return {'exchange': 'file', + 'exchange_type': 'direct', + 'queue': 'file'} + return None + + def _build_sftp_directory_name(username): """ Constructs the SFTP directory name for a given username. From 7a305aa7cbd93cdf0d0f724b42a42ff065b1f098 Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Fri, 26 Dec 2014 13:16:17 +0100 Subject: [PATCH 4/5] allow pickle content --- gvafile/gvafile/settings/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gvafile/gvafile/settings/base.py b/gvafile/gvafile/settings/base.py index 9b57ca0..c204589 100644 --- a/gvafile/gvafile/settings/base.py +++ b/gvafile/gvafile/settings/base.py @@ -286,7 +286,7 @@ CELERY_ROUTES = ( 'osusers.tasks.LdapRouter', 'osusers.tasks.FileRouter', ) -CELERY_ACCEPT_CONTENT = ['yaml', 'json'] +CELERY_ACCEPT_CONTENT = ['pickle', 'yaml', 'json'] CELERY_TASK_SERIALIZER = 'json' CELERY_RESULT_SERIALIZER = 'json' ########## END CELERY CONFIGURATION From d8533ba64cd5b53f381b0e8c485e2a500c13d8a2 Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Fri, 26 Dec 2014 15:24:09 +0100 Subject: [PATCH 5/5] define version number, document changes --- docs/changelog.rst | 3 +++ docs/conf.py | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index 15f7f1f..3f1b589 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -1,6 +1,9 @@ Changelog ========= +* :release:`0.1.0 <2014-12-26>` +* :support:`-` configure celery task serialization, add routing for ldap tasks + * :release:`0.0.2 <2014-12-26>` * :feature:`-` implement tasks for creating and deleting SFTP and mail base directories diff --git a/docs/conf.py b/docs/conf.py index 7738860..4b944cd 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -62,9 +62,9 @@ copyright = u'2014, Jan Dittberner' # built documents. # # The short X.Y version. -version = '0.0.2' +version = '0.1.0' # The full version, including alpha/beta/rc tags. -release = '0.0.2' +release = '0.1.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages.