Mirror System Notice reports are too frequent (#12438)

This PR switches off the success reports from the Update Mirrors cron job
as they are too frequent and not necessarily helpful.

Signed-off-by: Andrew Thornton <art27@cantab.net>
release/v1.15
zeripath 2020-08-05 21:40:36 +01:00 committed by GitHub
parent 42a31c797b
commit 48598a7e83
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 8 deletions

View File

@ -17,13 +17,15 @@ type Config interface {
DoRunAtStart() bool DoRunAtStart() bool
GetSchedule() string GetSchedule() string
FormatMessage(name, status string, doer *models.User, args ...interface{}) string FormatMessage(name, status string, doer *models.User, args ...interface{}) string
DoNoticeOnSuccess() bool
} }
// BaseConfig represents the basic config for a Cron task // BaseConfig represents the basic config for a Cron task
type BaseConfig struct { type BaseConfig struct {
Enabled bool Enabled bool
RunAtStart bool RunAtStart bool
Schedule string Schedule string
NoSuccessNotice bool
} }
// OlderThanConfig represents a cron task with OlderThan setting // OlderThanConfig represents a cron task with OlderThan setting
@ -53,6 +55,11 @@ func (b *BaseConfig) DoRunAtStart() bool {
return b.RunAtStart return b.RunAtStart
} }
// DoNoticeOnSuccess returns whether a success notice should be posted
func (b *BaseConfig) DoNoticeOnSuccess() bool {
return !b.NoSuccessNotice
}
// FormatMessage returns a message for the task // FormatMessage returns a message for the task
func (b *BaseConfig) FormatMessage(name, status string, doer *models.User, args ...interface{}) string { func (b *BaseConfig) FormatMessage(name, status string, doer *models.User, args ...interface{}) string {
realArgs := make([]interface{}, 0, len(args)+2) realArgs := make([]interface{}, 0, len(args)+2)

View File

@ -98,8 +98,10 @@ func (t *Task) RunWithUser(doer *models.User, config Config) {
} }
return return
} }
if err := models.CreateNotice(models.NoticeTask, config.FormatMessage(t.Name, "finished", doer)); err != nil { if config.DoNoticeOnSuccess() {
log.Error("CreateNotice: %v", err) if err := models.CreateNotice(models.NoticeTask, config.FormatMessage(t.Name, "finished", doer)); err != nil {
log.Error("CreateNotice: %v", err)
}
} }
}) })
} }

View File

@ -16,9 +16,10 @@ import (
func registerUpdateMirrorTask() { func registerUpdateMirrorTask() {
RegisterTaskFatal("update_mirrors", &BaseConfig{ RegisterTaskFatal("update_mirrors", &BaseConfig{
Enabled: true, Enabled: true,
RunAtStart: false, RunAtStart: false,
Schedule: "@every 10m", Schedule: "@every 10m",
NoSuccessNotice: true,
}, func(ctx context.Context, _ *models.User, _ Config) error { }, func(ctx context.Context, _ *models.User, _ Config) error {
return mirror_service.Update(ctx) return mirror_service.Update(ctx)
}) })