package main
import (
"context"
"github.com/sagoo-cloud/nexframe/servers/timers"
"log"
"os"
"time"
)
func main() {
// 创建日志记录器
logger := log.New(os.Stdout, "TIMER: ", log.Ldate|log.Ltime|log.Lshortfile)
// 创建服务器实例
server := timers.NewServer(logger)
// 注册任务
err := server.Register("task1", time.Second*10, task1Handler, nil)
if err != nil {
log.Fatalf("注册任务1失败: %v", err)
}
err = server.Register("task2", time.Second*20, task2Handler, map[string]interface{}{"key": "value"})
if err != nil {
log.Fatalf("注册任务2失败: %v", err)
}
// 启动服务
err = server.Run()
if err != nil {
log.Fatalf("启动服务失败: %v", err)
}
// 让服务运行一段时间
time.Sleep(time.Minute)
// 关闭服务
err = server.Close()
if err != nil {
log.Printf("关闭服务器时发生错误: %v", err)
}
}
func task1Handler(ctx context.Context, params map[string]interface{}) (interface{}, error) {
log.Println("执行任务1")
return "任务1完成", nil
}
func task2Handler(ctx context.Context, params map[string]interface{}) (interface{}, error) {
log.Printf("执行任务2,参数: %v", params)
return "任务2完成", nil
}