123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- // Copyright 2020 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 cron
-
- import (
- "context"
- "time"
-
- "code.gitea.io/gitea/models"
- "code.gitea.io/gitea/modules/migrations"
- repository_service "code.gitea.io/gitea/modules/repository"
- mirror_service "code.gitea.io/gitea/services/mirror"
- )
-
- func registerUpdateMirrorTask() {
- RegisterTaskFatal("update_mirrors", &BaseConfig{
- Enabled: true,
- RunAtStart: false,
- Schedule: "@every 10m",
- }, func(ctx context.Context, _ *models.User, _ Config) error {
- return mirror_service.Update(ctx)
- })
- }
-
- func registerRepoHealthCheck() {
- type RepoHealthCheckConfig struct {
- BaseConfig
- Timeout time.Duration
- Args []string `delim:" "`
- }
- RegisterTaskFatal("repo_health_check", &RepoHealthCheckConfig{
- BaseConfig: BaseConfig{
- Enabled: true,
- RunAtStart: false,
- Schedule: "@every 24h",
- },
- Timeout: 60 * time.Second,
- Args: []string{},
- }, func(ctx context.Context, _ *models.User, config Config) error {
- rhcConfig := config.(*RepoHealthCheckConfig)
- return repository_service.GitFsck(ctx, rhcConfig.Timeout, rhcConfig.Args)
- })
- }
-
- func registerCheckRepoStats() {
- RegisterTaskFatal("check_repo_stats", &BaseConfig{
- Enabled: true,
- RunAtStart: true,
- Schedule: "@every 24h",
- }, func(ctx context.Context, _ *models.User, _ Config) error {
- return models.CheckRepoStats(ctx)
- })
- }
-
- func registerArchiveCleanup() {
- RegisterTaskFatal("archive_cleanup", &OlderThanConfig{
- BaseConfig: BaseConfig{
- Enabled: true,
- RunAtStart: true,
- Schedule: "@every 24h",
- },
- OlderThan: 24 * time.Hour,
- }, func(ctx context.Context, _ *models.User, config Config) error {
- acConfig := config.(*OlderThanConfig)
- return models.DeleteOldRepositoryArchives(ctx, acConfig.OlderThan)
- })
- }
-
- func registerSyncExternalUsers() {
- RegisterTaskFatal("sync_external_users", &UpdateExistingConfig{
- BaseConfig: BaseConfig{
- Enabled: true,
- RunAtStart: false,
- Schedule: "@every 24h",
- },
- UpdateExisting: true,
- }, func(ctx context.Context, _ *models.User, config Config) error {
- realConfig := config.(*UpdateExistingConfig)
- return models.SyncExternalUsers(ctx, realConfig.UpdateExisting)
- })
- }
-
- func registerDeletedBranchesCleanup() {
- RegisterTaskFatal("deleted_branches_cleanup", &OlderThanConfig{
- BaseConfig: BaseConfig{
- Enabled: true,
- RunAtStart: true,
- Schedule: "@every 24h",
- },
- OlderThan: 24 * time.Hour,
- }, func(ctx context.Context, _ *models.User, config Config) error {
- realConfig := config.(*OlderThanConfig)
- models.RemoveOldDeletedBranches(ctx, realConfig.OlderThan)
- return nil
- })
- }
-
- func registerUpdateMigrationPosterID() {
- RegisterTaskFatal("update_migration_poster_id", &BaseConfig{
- Enabled: true,
- RunAtStart: true,
- Schedule: "@every 24h",
- }, func(ctx context.Context, _ *models.User, _ Config) error {
- return migrations.UpdateMigrationPosterID(ctx)
- })
- }
-
- func initBasicTasks() {
- registerUpdateMirrorTask()
- registerRepoHealthCheck()
- registerCheckRepoStats()
- registerArchiveCleanup()
- registerSyncExternalUsers()
- registerDeletedBranchesCleanup()
- registerUpdateMigrationPosterID()
- }
|