forked from forgejo/forgejo
Refactor Cron and merge dashboard tasks (#10745)
* Refactor Cron and merge dashboard tasks * Merge Cron and Dashboard tasks * Make every cron task report a system notice on completion * Refactor the creation of these tasks * Ensure that execution counts of tasks is correct * Allow cron tasks to be started from the cron page * golangci-lint fixes * Enforce that only one task with the same name can be registered Signed-off-by: Andrew Thornton <art27@cantab.net> * fix name check Signed-off-by: Andrew Thornton <art27@cantab.net> * as per @guillep2k * as per @lafriks Signed-off-by: Andrew Thornton <art27@cantab.net> * Add git.CommandContext variants Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: Lauris BH <lauris@nix.lv> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
This commit is contained in:
parent
c18144086f
commit
9a2e47b23a
25 changed files with 851 additions and 453 deletions
|
@ -20,6 +20,8 @@ type NoticeType int
|
|||
const (
|
||||
//NoticeRepository type
|
||||
NoticeRepository NoticeType = iota + 1
|
||||
// NoticeTask type
|
||||
NoticeTask
|
||||
)
|
||||
|
||||
// Notice represents a system notice for admin.
|
||||
|
@ -36,11 +38,14 @@ func (n *Notice) TrStr() string {
|
|||
}
|
||||
|
||||
// CreateNotice creates new system notice.
|
||||
func CreateNotice(tp NoticeType, desc string) error {
|
||||
return createNotice(x, tp, desc)
|
||||
func CreateNotice(tp NoticeType, desc string, args ...interface{}) error {
|
||||
return createNotice(x, tp, desc, args...)
|
||||
}
|
||||
|
||||
func createNotice(e Engine, tp NoticeType, desc string) error {
|
||||
func createNotice(e Engine, tp NoticeType, desc string, args ...interface{}) error {
|
||||
if len(args) > 0 {
|
||||
desc = fmt.Sprintf(desc, args...)
|
||||
}
|
||||
n := &Notice{
|
||||
Type: tp,
|
||||
Description: desc,
|
||||
|
@ -50,8 +55,8 @@ func createNotice(e Engine, tp NoticeType, desc string) error {
|
|||
}
|
||||
|
||||
// CreateRepositoryNotice creates new system notice with type NoticeRepository.
|
||||
func CreateRepositoryNotice(desc string) error {
|
||||
return createNotice(x, NoticeRepository, desc)
|
||||
func CreateRepositoryNotice(desc string, args ...interface{}) error {
|
||||
return createNotice(x, NoticeRepository, desc, args...)
|
||||
}
|
||||
|
||||
// RemoveAllWithNotice removes all directories in given path and
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue