forked from NYANDEV/forgejo
125 lines
2.6 KiB
Go
125 lines
2.6 KiB
Go
|
// Copyright 2019 The Gitea Authors. All rights reserved.
|
||
|
// Use of this source code is governed by a MIT-style
|
||
|
// license that can be found in the LICENSE file.
|
||
|
|
||
|
package setting
|
||
|
|
||
|
import (
|
||
|
"time"
|
||
|
|
||
|
"code.gitea.io/gitea/modules/log"
|
||
|
)
|
||
|
|
||
|
var (
|
||
|
|
||
|
// Cron tasks
|
||
|
Cron = struct {
|
||
|
UpdateMirror struct {
|
||
|
Enabled bool
|
||
|
RunAtStart bool
|
||
|
Schedule string
|
||
|
} `ini:"cron.update_mirrors"`
|
||
|
RepoHealthCheck struct {
|
||
|
Enabled bool
|
||
|
RunAtStart bool
|
||
|
Schedule string
|
||
|
Timeout time.Duration
|
||
|
Args []string `delim:" "`
|
||
|
} `ini:"cron.repo_health_check"`
|
||
|
CheckRepoStats struct {
|
||
|
Enabled bool
|
||
|
RunAtStart bool
|
||
|
Schedule string
|
||
|
} `ini:"cron.check_repo_stats"`
|
||
|
ArchiveCleanup struct {
|
||
|
Enabled bool
|
||
|
RunAtStart bool
|
||
|
Schedule string
|
||
|
OlderThan time.Duration
|
||
|
} `ini:"cron.archive_cleanup"`
|
||
|
SyncExternalUsers struct {
|
||
|
Enabled bool
|
||
|
RunAtStart bool
|
||
|
Schedule string
|
||
|
UpdateExisting bool
|
||
|
} `ini:"cron.sync_external_users"`
|
||
|
DeletedBranchesCleanup struct {
|
||
|
Enabled bool
|
||
|
RunAtStart bool
|
||
|
Schedule string
|
||
|
OlderThan time.Duration
|
||
|
} `ini:"cron.deleted_branches_cleanup"`
|
||
|
}{
|
||
|
UpdateMirror: struct {
|
||
|
Enabled bool
|
||
|
RunAtStart bool
|
||
|
Schedule string
|
||
|
}{
|
||
|
Enabled: true,
|
||
|
RunAtStart: false,
|
||
|
Schedule: "@every 10m",
|
||
|
},
|
||
|
RepoHealthCheck: struct {
|
||
|
Enabled bool
|
||
|
RunAtStart bool
|
||
|
Schedule string
|
||
|
Timeout time.Duration
|
||
|
Args []string `delim:" "`
|
||
|
}{
|
||
|
Enabled: true,
|
||
|
RunAtStart: false,
|
||
|
Schedule: "@every 24h",
|
||
|
Timeout: 60 * time.Second,
|
||
|
Args: []string{},
|
||
|
},
|
||
|
CheckRepoStats: struct {
|
||
|
Enabled bool
|
||
|
RunAtStart bool
|
||
|
Schedule string
|
||
|
}{
|
||
|
Enabled: true,
|
||
|
RunAtStart: true,
|
||
|
Schedule: "@every 24h",
|
||
|
},
|
||
|
ArchiveCleanup: struct {
|
||
|
Enabled bool
|
||
|
RunAtStart bool
|
||
|
Schedule string
|
||
|
OlderThan time.Duration
|
||
|
}{
|
||
|
Enabled: true,
|
||
|
RunAtStart: true,
|
||
|
Schedule: "@every 24h",
|
||
|
OlderThan: 24 * time.Hour,
|
||
|
},
|
||
|
SyncExternalUsers: struct {
|
||
|
Enabled bool
|
||
|
RunAtStart bool
|
||
|
Schedule string
|
||
|
UpdateExisting bool
|
||
|
}{
|
||
|
Enabled: true,
|
||
|
RunAtStart: false,
|
||
|
Schedule: "@every 24h",
|
||
|
UpdateExisting: true,
|
||
|
},
|
||
|
DeletedBranchesCleanup: struct {
|
||
|
Enabled bool
|
||
|
RunAtStart bool
|
||
|
Schedule string
|
||
|
OlderThan time.Duration
|
||
|
}{
|
||
|
Enabled: true,
|
||
|
RunAtStart: true,
|
||
|
Schedule: "@every 24h",
|
||
|
OlderThan: 24 * time.Hour,
|
||
|
},
|
||
|
}
|
||
|
)
|
||
|
|
||
|
func newCron() {
|
||
|
if err := Cfg.Section("cron").MapTo(&Cron); err != nil {
|
||
|
log.Fatal(4, "Failed to map Cron settings: %v", err)
|
||
|
}
|
||
|
}
|