Bladeren bron

Fixed typo in redis's default port: 6739 -> 6379. Thanks to brosner! Closes #71

Ask Solem 15 jaren geleden
bovenliggende
commit
af27b67a70
2 gewijzigde bestanden met toevoegingen van 35 en 1 verwijderingen
  1. 34 0
      celery/backends/base.py
  2. 1 1
      docs/configuration.rst

+ 34 - 0
celery/backends/base.py

@@ -1,5 +1,6 @@
 """celery.backends.base"""
 import time
+from UserDict import UserDict
 
 from billiard.serialization import pickle
 from billiard.serialization import get_pickled_exception
@@ -9,6 +10,39 @@ from celery.exceptions import TimeoutError
 from celery import states
 
 
+class Cache(object):
+
+    def __init__(self, expire=None):
+        self.expire = expire
+        self.timestamps = {}
+        self.data = {}
+
+    def __getitem__(self, key):
+        timestamp = self.timestamps[key]
+        if self.expire and timestamp + time.time() > self.expire:
+            self.data.pop(key, None)
+        else:
+            return self.data[key]
+        raise KeyError(key)
+
+    def __setitem__(self, key, value):
+        self.timestamps[key] = time.time()
+        self.data[key] = value
+
+    def __contains__(self, key):
+        if key not in self.data:
+            return False
+        try:
+            self[key]
+        except KeyError:
+            return False
+        else:
+            return True
+
+
+
+
+
 class BaseBackend(object):
     """The base backend class. All backends should inherit from this."""
 

+ 1 - 1
docs/configuration.rst

@@ -224,7 +224,7 @@ Example configuration
 
     CELERY_BACKEND = "redis"
     REDIS_HOST = "localhost"
-    REDIS_PORT = 6739
+    REDIS_PORT = 6379
     REDIS_DATABASE = "celery_results"
     REDIS_CONNECT_RETRY=True