File tree Expand file tree Collapse file tree 1 file changed +11
-10
lines changed Expand file tree Collapse file tree 1 file changed +11
-10
lines changed Original file line number Diff line number Diff line change @@ -252,19 +252,20 @@ def reserve(self, entry):
252
252
def sync (self ):
253
253
info ('Writing entries...' )
254
254
_tried = set ()
255
+ _failed = set ()
255
256
try :
256
257
close_old_connections ()
257
- with transaction . atomic ():
258
- while self ._dirty :
259
- try :
260
- name = self . _dirty . pop ()
261
- _tried . add ( name )
262
- self . schedule [ name ]. save ( )
263
- except (KeyError , ObjectDoesNotExist ):
264
- pass
258
+
259
+ while self ._dirty :
260
+ name = self . _dirty . pop ()
261
+ try :
262
+ self . schedule [ name ]. save ( )
263
+ _tried . add ( name )
264
+ except (KeyError , ObjectDoesNotExist ) as exc :
265
+ _failed . add ( name )
265
266
except (DatabaseError , InterfaceError ) as exc :
266
- # retry later
267
- self ._dirty |= _tried
267
+ # retry later, only for the failed ones
268
+ self ._dirty |= _failed
268
269
logger .exception ('Database error while sync: %r' , exc )
269
270
270
271
def update_from_dict (self , mapping ):
You can’t perform that action at this time.
0 commit comments