|
@@ -4,6 +4,7 @@ import (
|
|
|
"encoding/json"
|
|
|
"github.com/gogf/gf/container/gmap"
|
|
|
"github.com/gogf/gf/encoding/gjson"
|
|
|
+ "github.com/gogf/gf/v2/os/gcron"
|
|
|
"sparrow/pkg/rule"
|
|
|
"sparrow/pkg/server"
|
|
|
)
|
|
@@ -13,6 +14,10 @@ type TaskSchedule struct {
|
|
|
tasks *gmap.HashMap // 保存任务名称与任务实体的映射
|
|
|
}
|
|
|
|
|
|
+func (t *TaskSchedule) AddMessageHandle(msg *rule.TaskLifecycleMessage) error {
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
func NewTaskSchedule() *TaskSchedule {
|
|
|
return &TaskSchedule{
|
|
|
tasks: gmap.NewHashMap(true),
|
|
@@ -36,3 +41,37 @@ func (t *TaskSchedule) DoTask(msg []byte) error {
|
|
|
|
|
|
return nil
|
|
|
}
|
|
|
+
|
|
|
+func (t *TaskSchedule) RemoveMessageHandle(msg *rule.TaskLifecycleMessage) error {
|
|
|
+
|
|
|
+ gcron.Remove(msg.TaskId)
|
|
|
+ _ = t.tasks.Remove(msg.TaskId)
|
|
|
+
|
|
|
+ server.Log.Debugf("RemoveMessageHandle :%s", msg.TaskId)
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
+func (t *TaskSchedule) UpdateMessageHandle(msg *rule.TaskLifecycleMessage) error {
|
|
|
+
|
|
|
+ server.Log.Debugf("UpdateMessageHandle :%s", msg.TaskId)
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
+func (t *TaskSchedule) SnapMessageHandle(msg *rule.TaskLifecycleMessage) error {
|
|
|
+ gcron.Stop(msg.TaskId)
|
|
|
+
|
|
|
+ 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
|
|
|
+}
|