44 'DELETE FROM deleted_entities WHERE dtime < %(time)s', |
44 'DELETE FROM deleted_entities WHERE dtime < %(time)s', |
45 {'time': mindate}) |
45 {'time': mindate}) |
46 session.commit() |
46 session.commit() |
47 finally: |
47 finally: |
48 session.close() |
48 session.close() |
49 self.repo.looping_task(60*60*24, cleanup_old_transactions, self.repo) |
49 if self.repo.config['undo-support']: |
|
50 self.repo.looping_task(60*60*24, cleanup_old_transactions, |
|
51 self.repo) |
50 def update_feeds(repo): |
52 def update_feeds(repo): |
51 session = repo.internal_session() |
53 # don't iter on repo.sources which doesn't include copy based |
52 try: |
54 # sources (the one we're looking for) |
53 # don't iter on repo.sources which doesn't include copy based |
55 for source in repo.sources_by_eid.itervalues(): |
54 # sources (the one we're looking for) |
56 if (not source.copy_based_source |
55 for source in repo.sources_by_eid.itervalues(): |
57 or not repo.config.source_enabled(source) |
56 if (not source.copy_based_source |
58 or not source.config['synchronize']): |
57 or not repo.config.source_enabled(source) |
59 continue |
58 or not source.config['synchronize']): |
60 session = repo.internal_session() |
59 continue |
61 try: |
60 try: |
62 stats = source.pull_data(session) |
61 stats = source.pull_data(session) |
63 if stats.get('created'): |
62 if stats.get('created'): |
64 source.info('added %s entities', len(stats['created'])) |
63 source.info('added %s entities', len(stats['created'])) |
65 if stats.get('updated'): |
64 if stats.get('updated'): |
66 source.info('updated %s entities', len(stats['updated'])) |
65 source.info('updated %s entities', len(stats['updated'])) |
67 except Exception, exc: |
66 session.commit() |
68 session.exception('while trying to update feed %s', source) |
67 except Exception, exc: |
69 finally: |
68 session.exception('while trying to update feed %s', source) |
70 session.close() |
69 session.rollback() |
|
70 session.set_pool() |
|
71 finally: |
|
72 session.close() |
|
73 self.repo.looping_task(60, update_feeds, self.repo) |
71 self.repo.looping_task(60, update_feeds, self.repo) |