|
@@ -1,7 +1,10 @@
|
|
|
+
|
|
|
# -*- coding: utf-8 -*-
|
|
|
"""MongoDB backend for celery."""
|
|
|
from __future__ import absolute_import
|
|
|
|
|
|
+import warnings
|
|
|
+
|
|
|
from datetime import datetime
|
|
|
|
|
|
try:
|
|
@@ -94,8 +97,12 @@ class MongoBackend(BaseDictBackend):
|
|
|
|
|
|
def _store_result(self, task_id, result, status, traceback=None):
|
|
|
"""Store return value and status of an executed task."""
|
|
|
- from pymongo.binary import Binary
|
|
|
-
|
|
|
+ try:
|
|
|
+ from bson.binary import Binary
|
|
|
+ except ImportError:
|
|
|
+ from pymongo.binary import Binary
|
|
|
+ warnings.warn("pymongo.binary has been removed in pymongo>2.2 in favor of bson.binary")
|
|
|
+
|
|
|
meta = {"_id": task_id,
|
|
|
"status": status,
|
|
|
"result": Binary(self.encode(result)),
|
|
@@ -124,8 +131,12 @@ class MongoBackend(BaseDictBackend):
|
|
|
|
|
|
def _save_taskset(self, taskset_id, result):
|
|
|
"""Save the taskset result."""
|
|
|
- from pymongo.binary import Binary
|
|
|
-
|
|
|
+ try:
|
|
|
+ from bson.binary import Binary
|
|
|
+ except ImportError:
|
|
|
+ from pymongo.binary import Binary
|
|
|
+ warnings.warn("pymongo.binary has been removed pymongo >2.1 in favor of bson.binary")
|
|
|
+
|
|
|
meta = {"_id": taskset_id,
|
|
|
"result": Binary(self.encode(result)),
|
|
|
"date_done": datetime.utcnow()}
|