Feature #3398: Redefine global mirror interval (#3409)

* add mirror::GLOBAL_INTERVAL on app.ini

* rename key to DEFAULT_INTERVAL

* add key on default app.ini + move code
This commit is contained in:
Thibault Meyer 2016-08-10 08:47:16 +02:00 committed by 无闻
parent 5448d29b2e
commit fc68fb951c
3 changed files with 16 additions and 2 deletions

View File

@ -359,6 +359,10 @@ CLONE = 300
PULL = 300 PULL = 300
GC = 60 GC = 60
[mirror]
; Default interval in hours between each check
DEFAULT_INTERVAL = 24
[api] [api]
; Max number of items will response in a page ; Max number of items will response in a page
MAX_RESPONSE_ITEMS = 50 MAX_RESPONSE_ITEMS = 50

View File

@ -724,9 +724,9 @@ func MigrateRepository(u *User, opts MigrateRepoOptions) (*Repository, error) {
if opts.IsMirror { if opts.IsMirror {
if _, err = x.InsertOne(&Mirror{ if _, err = x.InsertOne(&Mirror{
RepoID: repo.ID, RepoID: repo.ID,
Interval: 24, Interval: setting.Mirror.DefaultInterval,
EnablePrune: true, EnablePrune: true,
NextUpdate: time.Now().Add(24 * time.Hour), NextUpdate: time.Now().Add(time.Duration(setting.Mirror.DefaultInterval) * time.Hour),
}); err != nil { }); err != nil {
return repo, fmt.Errorf("InsertOne: %v", err) return repo, fmt.Errorf("InsertOne: %v", err)
} }

View File

@ -208,6 +208,10 @@ var (
} `ini:"git.timeout"` } `ini:"git.timeout"`
} }
Mirror struct {
DefaultInterval int
}
// API settings // API settings
API struct { API struct {
MaxResponseItems int MaxResponseItems int
@ -514,6 +518,12 @@ func NewContext() {
log.Fatal(4, "Fail to map Git settings: %v", err) log.Fatal(4, "Fail to map Git settings: %v", err)
} else if err = Cfg.Section("api").MapTo(&API); err != nil { } else if err = Cfg.Section("api").MapTo(&API); err != nil {
log.Fatal(4, "Fail to map API settings: %v", err) log.Fatal(4, "Fail to map API settings: %v", err)
} else if err = Cfg.Section("mirror").MapTo(&Mirror); err != nil {
log.Fatal(4, "Fail to map API settings: %v", err)
}
if Mirror.DefaultInterval <= 0 {
Mirror.DefaultInterval = 24
} }
Langs = Cfg.Section("i18n").Key("LANGS").Strings(",") Langs = Cfg.Section("i18n").Key("LANGS").Strings(",")