From 95ee6a06727e885b81c66d5cb4f7f55ec303b964 Mon Sep 17 00:00:00 2001 From: ale <ale@incal.net> Date: Fri, 27 Jan 2012 14:29:42 +0100 Subject: [PATCH] commit more often --- server/djrandom/model/processor.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/server/djrandom/model/processor.py b/server/djrandom/model/processor.py index 567f6dc..c72211d 100644 --- a/server/djrandom/model/processor.py +++ b/server/djrandom/model/processor.py @@ -5,6 +5,8 @@ from djrandom.database import Session log = logging.getLogger(__name__) +COMMIT_EVERY = 50 + class Processor(object): """Base class to perform operations on database objects. @@ -24,7 +26,6 @@ class Processor(object): n = 0 items = self.query() for item in items: - n += 1 try: self.process(item) Session.add(item) @@ -32,6 +33,9 @@ class Processor(object): log.error( 'Unexpected exception processing item %s:\n %s' % ( item, traceback.format_exc())) + n += 1 + if (n % COMMIT_EVERY == 0) and not self._dry_run: + Session.commit() if n > 0 and not self._dry_run: Session.commit() self.commit() @@ -53,7 +57,7 @@ class Processor(object): try: n = self.full_scan() except Exception, e: - log.error('Temporary error: %s' % e) + log.exception('Temporary error') Session.remove() if run_once: break -- GitLab