lister: only one transaction per github API query

This commit is contained in:
Nicolas Dandrimont 2016-09-13 16:25:04 +02:00
parent 5b83dbbc95
commit 8f5110a6e8

View file

@ -127,7 +127,6 @@ def inject_repo(db_session, repo):
if k in repo:
setattr(sql_repo, k, repo[k])
sql_repo.last_seen = datetime.datetime.now()
db_session.commit()
class FetchError(RuntimeError):
@ -162,10 +161,10 @@ def fetch(conf, mk_session, min_id=None, max_id=None):
raise FetchError(repos_res)
repos = repos_res.json()
for repo in repos:
if repo['id'] > max_id: # do not overstep max_id
break
with session_scope(mk_session) as db_session:
with session_scope(mk_session) as db_session:
for repo in repos:
if repo['id'] > max_id: # do not overstep max_id
break
inject_repo(db_session, repo)
if 'next' in repos_res.links: