EasyVQD/internal/core/vqdsdk/core.go
2026-01-17 16:19:36 +08:00

57 lines
1.3 KiB
Go

package vqdsdk
import (
"context"
"easyvqd/internal/conf"
"easyvqd/internal/core/host"
"easyvqd/internal/core/vqd"
"time"
)
type Core struct {
HostCore *host.Core
VqdTaskCore *vqd.Core
Cfg *conf.Bootstrap
}
func NewCore(HostCore *host.Core, VqdTaskCore *vqd.Core, Cfg *conf.Bootstrap) *Core {
core := &Core{
HostCore: HostCore,
VqdTaskCore: VqdTaskCore,
Cfg: Cfg,
}
time.AfterFunc(time.Duration(5)*time.Second, func() {
in := &vqd.AddVqdAlarmInput{
AlarmName: "遮挡告警",
AlarmValue: "",
ChannelID: "",
ChannelName: "",
TaskTemplateID: 0,
TaskTemplateName: "",
TaskID: 0,
TaskName: "",
FilePath: "",
}
for i := 0; i < 40; i++ {
core.VqdTaskCore.AddVqdAlarm(context.TODO(), in)
}
})
// 启用定时清理任务
core.scheduleCleanTask()
// 启用任务管理器
return core
}
//
//func OpenVqdTask(VqdTaskCore *vqd.Core) *Workflow {
// wf := NewWorkflow(WorkflowConfig{
// MaxConcurrency: 100, // 并发
// CleanupInterval: 30 * time.Second, // 每30秒清理一次
// MaxTaskHistory: 500, // 最多保留500个任务历史
// RetentionTime: 60 * time.Second, // 任务保留1分钟
// })
//
// return wf
//}