mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-26 09:09:36 -05:00
Backport #20837 Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
This commit is contained in:
parent
6779c351b1
commit
0230f1e1aa
2 changed files with 12 additions and 8 deletions
|
@ -107,12 +107,14 @@ func DeleteMirrorByRepoID(repoID int64) error {
|
||||||
|
|
||||||
// MirrorsIterate iterates all mirror repositories.
|
// MirrorsIterate iterates all mirror repositories.
|
||||||
func MirrorsIterate(limit int, f func(idx int, bean interface{}) error) error {
|
func MirrorsIterate(limit int, f func(idx int, bean interface{}) error) error {
|
||||||
return db.GetEngine(db.DefaultContext).
|
sess := db.GetEngine(db.DefaultContext).
|
||||||
Where("next_update_unix<=?", time.Now().Unix()).
|
Where("next_update_unix<=?", time.Now().Unix()).
|
||||||
And("next_update_unix!=0").
|
And("next_update_unix!=0").
|
||||||
OrderBy("updated_unix ASC").
|
OrderBy("updated_unix ASC")
|
||||||
Limit(limit).
|
if limit > 0 {
|
||||||
Iterate(new(Mirror), f)
|
sess = sess.Limit(limit)
|
||||||
|
}
|
||||||
|
return sess.Iterate(new(Mirror), f)
|
||||||
}
|
}
|
||||||
|
|
||||||
// InsertMirror inserts a mirror to database
|
// InsertMirror inserts a mirror to database
|
||||||
|
|
|
@ -95,10 +95,12 @@ func GetPushMirrorsByRepoID(repoID int64) ([]*PushMirror, error) {
|
||||||
|
|
||||||
// PushMirrorsIterate iterates all push-mirror repositories.
|
// PushMirrorsIterate iterates all push-mirror repositories.
|
||||||
func PushMirrorsIterate(limit int, f func(idx int, bean interface{}) error) error {
|
func PushMirrorsIterate(limit int, f func(idx int, bean interface{}) error) error {
|
||||||
return db.GetEngine(db.DefaultContext).
|
sess := db.GetEngine(db.DefaultContext).
|
||||||
Where("last_update + (`interval` / ?) <= ?", time.Second, time.Now().Unix()).
|
Where("last_update + (`interval` / ?) <= ?", time.Second, time.Now().Unix()).
|
||||||
And("`interval` != 0").
|
And("`interval` != 0").
|
||||||
OrderBy("last_update ASC").
|
OrderBy("last_update ASC")
|
||||||
Limit(limit).
|
if limit > 0 {
|
||||||
Iterate(new(PushMirror), f)
|
sess = sess.Limit(limit)
|
||||||
|
}
|
||||||
|
return sess.Iterate(new(PushMirror), f)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue