nakamura avatar nakamura committed 2891ab0

retry writing to database

Comments (0)

Files changed (1)

karintou/__init__.py

 
             entries[i] = entry
 
+        retryCount = 10
+        for i in range(retryCount):
+            try:
+                self.writeEntries(entries, feed)
+                break
+
+            except notmuch.errors.XapianError as e:
+                log.err(e)
+                if i < retryCount - 1:
+                    log.msg('sleep & retry')
+                    yield sleep(3)
+
+    def writeEntries(self, entries, feed):
         with self.dbm.open(DatabaseManager.MODE.READ_WRITE) as db:
             for entry in entries:
                 if entry is None:
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.