ソースを参照

定时任务更新

liuxiulin 1 年間 前
コミット
5cf8d7fb17

+ 6 - 0
pkg/rule/task_lifecycle_consumer.go

@@ -11,6 +11,8 @@ type ExternalConsumer interface {
 	RemoveMessageHandle(msg *TaskLifecycleMessage) error
 	UpdateMessageHandle(msg *TaskLifecycleMessage) error
 	SnapMessageHandle(msg *TaskLifecycleMessage) error
+	StartMessageHandle(msg *TaskLifecycleMessage) error
+	StopMessageHandle(msg *TaskLifecycleMessage) error
 }
 
 const TaskLifecycleExchange = "task_lifecycle_exchange"
@@ -73,6 +75,10 @@ func (a *TaskLifecycleConsumer) handleMessage(msg []byte) {
 		err = a.ec.UpdateMessageHandle(&tm)
 	case "snap":
 		err = a.ec.SnapMessageHandle(&tm)
+	case "start":
+		err = a.ec.StartMessageHandle(&tm)
+	case "stop":
+		err = a.ec.StopMessageHandle(&tm)
 	}
 }
 

+ 12 - 0
services/timer-service/internal/scheduler.go

@@ -83,3 +83,15 @@ func (t *TaskSchedule) SnapMessageHandle(msg *rule.TaskLifecycleMessage) error {
 	server.Log.Debugf("SnapMessageHandle :%s", msg.TaskId)
 	return nil
 }
+
+func (t *TaskSchedule) StartMessageHandle(msg *rule.TaskLifecycleMessage) error {
+	gcron.Start(msg.TaskId)
+	server.Log.Debugf("StartMessageHandle :%s", msg.TaskId)
+	return nil
+}
+
+func (t *TaskSchedule) StopMessageHandle(msg *rule.TaskLifecycleMessage) error {
+	gcron.Stop(msg.TaskId)
+	server.Log.Debugf("StopMessageHandle :%s", msg.TaskId)
+	return nil
+}