Pārlūkot izejas kodu

Merge branch 'stipa/master'

Ask Solem 14 gadi atpakaļ
vecāks
revīzija
e71a89c22d
1 mainītis faili ar 6 papildinājumiem un 7 dzēšanām
  1. 6 7
      celery/beat.py

+ 6 - 7
celery/beat.py

@@ -301,29 +301,28 @@ class PersistentScheduler(Scheduler):
         Scheduler.__init__(self, *args, **kwargs)
 
     def _remove_db(self):
-        for suffix in "", ".db", ".dat":
+        for suffix in "", ".db", ".dat", ".bak", ".dir":
             try:
                 os.remove(self.schedule_filename + suffix)
             except OSError, exc:
                 if exc.errno != errno.ENOENT:
                     raise
-            else:
-                break
 
     def setup_schedule(self):
         try:
             self._store = self.persistence.open(self.schedule_filename,
                                                 writeback=True)
+            entries = self._store.setdefault("entries", {})
         except Exception, exc:
             self.logger.error("Removing corrupted schedule file %r: %r" % (
                 self.schedule_filename, exc))
             self._remove_db()
             self._store = self.persistence.open(self.schedule_filename,
                                                 writeback=True)
-
-        if "__version__" not in self._store:
-            self._store.clear()   # remove schedule at 2.2.2 upgrade.
-        entries = self._store.setdefault("entries", {})
+            entries = self._store.setdefault("entries", {})
+        else:
+            if "__version__" not in self._store:
+                self._store.clear()   # remove schedule at 2.2.2 upgrade.
         self.merge_inplace(self.app.conf.CELERYBEAT_SCHEDULE)
         self.install_default_entries(self.schedule)
         self._store["__version__"] = __version__