本站源代码
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

133 linhas
2.8KB

  1. // Copyright 2019 The Gitea Authors. All rights reserved.
  2. // Use of this source code is governed by a MIT-style
  3. // license that can be found in the LICENSE file.
  4. package setting
  5. import (
  6. "time"
  7. "code.gitea.io/gitea/modules/log"
  8. )
  9. var (
  10. // Cron tasks
  11. Cron = struct {
  12. UpdateMirror struct {
  13. Enabled bool
  14. RunAtStart bool
  15. Schedule string
  16. } `ini:"cron.update_mirrors"`
  17. RepoHealthCheck struct {
  18. Enabled bool
  19. RunAtStart bool
  20. Schedule string
  21. Timeout time.Duration
  22. Args []string `delim:" "`
  23. } `ini:"cron.repo_health_check"`
  24. CheckRepoStats struct {
  25. Enabled bool
  26. RunAtStart bool
  27. Schedule string
  28. } `ini:"cron.check_repo_stats"`
  29. ArchiveCleanup struct {
  30. Enabled bool
  31. RunAtStart bool
  32. Schedule string
  33. OlderThan time.Duration
  34. } `ini:"cron.archive_cleanup"`
  35. SyncExternalUsers struct {
  36. Enabled bool
  37. RunAtStart bool
  38. Schedule string
  39. UpdateExisting bool
  40. } `ini:"cron.sync_external_users"`
  41. DeletedBranchesCleanup struct {
  42. Enabled bool
  43. RunAtStart bool
  44. Schedule string
  45. OlderThan time.Duration
  46. } `ini:"cron.deleted_branches_cleanup"`
  47. UpdateMigrationPosterID struct {
  48. Schedule string
  49. } `ini:"cron.update_migration_poster_id"`
  50. }{
  51. UpdateMirror: struct {
  52. Enabled bool
  53. RunAtStart bool
  54. Schedule string
  55. }{
  56. Enabled: true,
  57. RunAtStart: false,
  58. Schedule: "@every 10m",
  59. },
  60. RepoHealthCheck: struct {
  61. Enabled bool
  62. RunAtStart bool
  63. Schedule string
  64. Timeout time.Duration
  65. Args []string `delim:" "`
  66. }{
  67. Enabled: true,
  68. RunAtStart: false,
  69. Schedule: "@every 24h",
  70. Timeout: 60 * time.Second,
  71. Args: []string{},
  72. },
  73. CheckRepoStats: struct {
  74. Enabled bool
  75. RunAtStart bool
  76. Schedule string
  77. }{
  78. Enabled: true,
  79. RunAtStart: true,
  80. Schedule: "@every 24h",
  81. },
  82. ArchiveCleanup: struct {
  83. Enabled bool
  84. RunAtStart bool
  85. Schedule string
  86. OlderThan time.Duration
  87. }{
  88. Enabled: true,
  89. RunAtStart: true,
  90. Schedule: "@every 24h",
  91. OlderThan: 24 * time.Hour,
  92. },
  93. SyncExternalUsers: struct {
  94. Enabled bool
  95. RunAtStart bool
  96. Schedule string
  97. UpdateExisting bool
  98. }{
  99. Enabled: true,
  100. RunAtStart: false,
  101. Schedule: "@every 24h",
  102. UpdateExisting: true,
  103. },
  104. DeletedBranchesCleanup: struct {
  105. Enabled bool
  106. RunAtStart bool
  107. Schedule string
  108. OlderThan time.Duration
  109. }{
  110. Enabled: true,
  111. RunAtStart: true,
  112. Schedule: "@every 24h",
  113. OlderThan: 24 * time.Hour,
  114. },
  115. UpdateMigrationPosterID: struct {
  116. Schedule string
  117. }{
  118. Schedule: "@every 24h",
  119. },
  120. }
  121. )
  122. func newCron() {
  123. if err := Cfg.Section("cron").MapTo(&Cron); err != nil {
  124. log.Fatal("Failed to map Cron settings: %v", err)
  125. }
  126. }
上海开阖软件有限公司 沪ICP备12045867号-1