Csalvia has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/115634

Change subject: Added JSONPickle serializer to remove C_FORCE_ROOT issue
......................................................................

Added JSONPickle serializer to remove C_FORCE_ROOT issue

Change-Id: Idc23bac8853020f49743810e71b46c68c1edd868
---
M wikimetrics/config/queue_config.yaml
M wikimetrics/controllers/cohorts.py
A wikimetrics/models/serializer.py
M wikimetrics/models/validate_cohort.py
4 files changed, 34 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/analytics/wikimetrics 
refs/changes/34/115634/1

diff --git a/wikimetrics/config/queue_config.yaml 
b/wikimetrics/config/queue_config.yaml
index d5dd82f..0b8a227 100644
--- a/wikimetrics/config/queue_config.yaml
+++ b/wikimetrics/config/queue_config.yaml
@@ -1,5 +1,8 @@
 BROKER_URL                          : 'redis://localhost:6379/0'
 CELERY_RESULT_BACKEND               : 'redis://localhost:6379/0'
+CELERY_ACCEPT_CONTENT               : ['json']
+CELERY_TASK_SERIALIZER              : 'json'
+CELERY_RESULT_SERIALIZER            : 'json'
 CELERY_TASK_RESULT_EXPIRES          : 3600
 CELERY_DISABLE_RATE_LIMITS          : True
 CELERY_STORE_ERRORS_EVEN_IF_IGNORED : True
diff --git a/wikimetrics/controllers/cohorts.py 
b/wikimetrics/controllers/cohorts.py
index 4addb40..fd9ecf5 100644
--- a/wikimetrics/controllers/cohorts.py
+++ b/wikimetrics/controllers/cohorts.py
@@ -14,7 +14,7 @@
     User, WikiUser, CohortWikiUser, MediawikiUser,
     ValidateCohort
 )
-
+import wikimetrics.models.serializer as serializer
 
 @app.route('/cohorts/')
 def cohorts_index():
@@ -148,7 +148,6 @@
         session.close()
     return cohort_dict
 
-
 @app.route('/cohorts/upload', methods=['GET', 'POST'])
 def cohort_upload():
     """ View for uploading and validating a new cohort via CSV """
@@ -164,6 +163,14 @@
             else:
                 form.parse_records()
                 vc = ValidateCohort.from_upload(form, current_user.id)
+
+                ### TEMP TEMP
+                import sys
+                print >> sys.stderr, "USING SERIALIZER:", serializer.METHOD
+                import kombu.serialization
+                print >> sys.stderr, kombu.serialization.registry._decoders
+                ### TEMP TEMP
+
                 vc.task.delay(vc)
                 return redirect('{0}#{1}'.format(
                     url_for('cohorts_index'),
diff --git a/wikimetrics/models/serializer.py b/wikimetrics/models/serializer.py
new file mode 100644
index 0000000..264c2a5
--- /dev/null
+++ b/wikimetrics/models/serializer.py
@@ -0,0 +1,21 @@
+from kombu import serialization
+import jsonpickle
+
+def json_pickle_dump(obj):
+       return jsonpickle.encode(obj)   
+
+def json_pickle_load(obj):
+       return jsonpickle.decode(obj)
+
+METHOD = "json"
+CONTENT_TYPE = "application/json"
+CONTENT_ENCODING = "utf8"
+
+serialization.register(
+       METHOD, 
+       json_pickle_dump,
+       json_pickle_load, 
+       content_type = CONTENT_TYPE,
+       content_encoding = CONTENT_ENCODING
+)
+
diff --git a/wikimetrics/models/validate_cohort.py 
b/wikimetrics/models/validate_cohort.py
index 275f46c..a3ab72a 100644
--- a/wikimetrics/models/validate_cohort.py
+++ b/wikimetrics/models/validate_cohort.py
@@ -28,7 +28,7 @@
     * Creating a cohort, or loading an existing one
     * Re-validating the cohort's existing users or validating a CSV record list
     * Validating asynchronously and updating the database as it goes
-    * Updating the cohort to validated == True once all users have been 
validated
+    * Updating the cohort to validated == True iff all users have been 
validated
     """
     task = async_validate
     

-- 
To view, visit https://gerrit.wikimedia.org/r/115634
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Idc23bac8853020f49743810e71b46c68c1edd868
Gerrit-PatchSet: 1
Gerrit-Project: analytics/wikimetrics
Gerrit-Branch: master
Gerrit-Owner: Csalvia <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to