summaryrefslogtreecommitdiffstats
path: root/services/cron/tasks_actions.go
diff options
context:
space:
mode:
Diffstat (limited to 'services/cron/tasks_actions.go')
-rw-r--r--services/cron/tasks_actions.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/services/cron/tasks_actions.go b/services/cron/tasks_actions.go
index 30e8749a5e..0875792503 100644
--- a/services/cron/tasks_actions.go
+++ b/services/cron/tasks_actions.go
@@ -18,6 +18,7 @@ func initActionsTasks() {
registerStopZombieTasks()
registerStopEndlessTasks()
registerCancelAbandonedJobs()
+ registerScheduleTasks()
}
func registerStopZombieTasks() {
@@ -49,3 +50,16 @@ func registerCancelAbandonedJobs() {
return actions_service.CancelAbandonedJobs(ctx)
})
}
+
+// registerScheduleTasks registers a scheduled task that runs every minute to start any due schedule tasks.
+func registerScheduleTasks() {
+ // Register the task with a unique name, enabled status, and schedule for every minute.
+ RegisterTaskFatal("start_schedule_tasks", &BaseConfig{
+ Enabled: true,
+ RunAtStart: false,
+ Schedule: "@every 1m",
+ }, func(ctx context.Context, _ *user_model.User, cfg Config) error {
+ // Call the function to start schedule tasks and pass the context.
+ return actions_service.StartScheduleTasks(ctx)
+ })
+}