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