1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package handler
- import (
- "GtDataStore/app/cmd/events/internal/logic/job"
- "context"
- "metawant.greentech.com.cn/gaoyagang/gt-common/rabbitMQ"
- "time"
- )
- const (
- EVENT_NOTIFY = "EVENT_NOTIFY"
- EVENT_SINGLE_ITEM = "SINGLE_ITEM_EVENT" // 单点位值事件
- EVENT_MULTI_ITEM = "MULTI_ITEM_EVENT" // 多点位值事件
- EVTNE_NOTIFY_KEY_FORMAT = "EVENT:NOFITY:%d:%s" // 事件通知通道 %d: 项目名称 %s: 事件名称
- )
- type (
- // 事件信息
- eventInfo struct {
- ProjectId int64
- DeviceCode string
- Item string
- EventId int64
- EventName string
- OldValue string
- NewValue string
- Time time.Time
- MsgTime time.Time
- }
- )
- var (
- eventChan chan eventInfo
- producter *rabbitMQ.Producter
- EventIntervalTable = map[string]time.Duration{
- EVENT_SINGLE_ITEM: 1 * time.Second,
- EVENT_MULTI_ITEM: 60 * time.Second,
- }
- EventHandlerTable = map[string]func(ctx context.Context, task *job.Task, technologyName string) error{
- EVENT_SINGLE_ITEM: EventSingle,
- EVENT_MULTI_ITEM: EventMulti,
- }
- )
- func init() {
- eventChan = make(chan eventInfo, 50)
- }
|