diff --git a/task/auth.go b/task/auth.go index 2b06425..51e436b 100644 --- a/task/auth.go +++ b/task/auth.go @@ -27,14 +27,14 @@ func Authenticate(code string) (token, login string, err error) { } login = user.Login log.Println("Saving user", user) - user.Save() + db.Queue(func() { user.Save() }) tok := &db.Token{ User: login, Token: token, } log.Println("Saving token", tok) - tok.Save() + db.Queue(func() { tok.Save() }) return } diff --git a/task/sync.go b/task/sync.go index db80af0..92a2c02 100644 --- a/task/sync.go +++ b/task/sync.go @@ -31,7 +31,7 @@ func SyncRepos(token, owner string) { IsPrivate: *repo.Private, IsFork: *repo.Fork, } - r.Save() + db.Queue(func() { r.Save() }) } if opt.Page >= resp.LastPage { break @@ -67,7 +67,7 @@ func SyncContrib(token, owner string, repo *db.Repo) { Additions: *week.Additions, Deletions: *week.Deletions, } - c.Save() + db.Queue(func() { c.Save() }) } } } @@ -102,7 +102,7 @@ func SyncUserOrgs(token string) (err error) { } go SyncOrgTeams(token, o) go SyncOrgMembers(token, o) - o.Save() + db.Queue(func() { o.Save() }) } if opt.Page >= resp.LastPage { break @@ -136,7 +136,7 @@ func SyncOrgTeams(token string, org *db.Org) (err error) { } go SyncTeamMembers(token, t) go SyncTeamRepos(token, t) - t.Save() + db.Queue(func() { t.Save() }) } if opt.Page >= resp.LastPage { break @@ -169,7 +169,7 @@ func SyncOrgMembers(token string, org *db.Org) (err error) { break } } - db.SaveOrgMembers(org.ID, ids) + db.Queue(func() { db.SaveOrgMembers(org.ID, ids) }) return } @@ -196,7 +196,7 @@ func SyncTeamMembers(token string, team *db.Team) (err error) { break } } - db.SaveTeamMembers(team.OrgID, team.ID, ids) + db.Queue(func() { db.SaveTeamMembers(team.OrgID, team.ID, ids) }) return } @@ -223,7 +223,7 @@ func SyncTeamRepos(token string, team *db.Team) (err error) { break } } - db.SaveTeamRepos(team.OrgID, team.ID, ids) + db.Queue(func() { db.SaveTeamRepos(team.OrgID, team.ID, ids) }) return } diff --git a/task/task.go b/task/task.go index d0154df..7ba5f55 100644 --- a/task/task.go +++ b/task/task.go @@ -26,7 +26,7 @@ func saveResponseMeta(token string, res *github.Response) { Remaining: res.Remaining, ResetAt: res.Reset.Time, } - tok.Save() + db.Queue(func() { tok.Save() }) } func report(task string, start time.Time) { diff --git a/task/user.go b/task/user.go index dd3f96c..35a98aa 100644 --- a/task/user.go +++ b/task/user.go @@ -42,7 +42,7 @@ func SyncUserInfo(token, login string) (err error) { defer report("SyncUserInfo", time.Now()) var u *db.User if u, err = FetchUserInfo(token, login); err == nil { - u.Save() + db.Queue(func() { u.Save() }) } return }