vars.go 1003 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package handler
  2. import (
  3. "GtDataStore/app/cmd/events/internal/logic/job"
  4. "context"
  5. "time"
  6. )
  7. const (
  8. EVENT_NOTIFY = "EVENT_NOTIFY"
  9. EVENT_SINGLE_ITEM = "SINGLE_ITEM_EVENT" // 单点位值事件
  10. EVENT_MULTI_ITEM = "MULTI_ITEM_EVENT" // 多点位值事件
  11. EVTNE_NOTIFY_KEY_FORMAT = "EVENT:NOFITY:%d:%s" // 事件通知通道 %d: 项目名称 %s: 事件名称
  12. )
  13. type (
  14. // 事件信息
  15. eventInfo struct {
  16. ProjectId int64
  17. DeviceCode string
  18. Item string
  19. EventId int64
  20. EventName string
  21. OldValue string
  22. NewValue string
  23. Time time.Time
  24. MsgTime time.Time
  25. }
  26. )
  27. var (
  28. eventChan chan eventInfo
  29. EventIntervalTable = map[string]time.Duration{
  30. EVENT_SINGLE_ITEM: 60 * time.Second,
  31. EVENT_MULTI_ITEM: 60 * time.Second,
  32. }
  33. EventHandlerTable = map[string]func(ctx context.Context, task *job.Task, technologyName string) error{
  34. EVENT_SINGLE_ITEM: EventSingle,
  35. EVENT_MULTI_ITEM: EventMulti,
  36. }
  37. )
  38. func init() {
  39. eventChan = make(chan eventInfo, 50)
  40. }