time.go 584 B

12345678910111213141516171819202122232425262728293031
  1. package conf
  2. import (
  3. "github.com/benbjohnson/clock"
  4. "github.com/emqx/kuiper/pkg/cast"
  5. "time"
  6. )
  7. var Clock clock.Clock
  8. func InitClock() {
  9. if IsTesting {
  10. Log.Debugf("running in testing mode")
  11. Clock = clock.NewMock()
  12. } else {
  13. Clock = clock.New()
  14. }
  15. }
  16. //Time related. For Mock
  17. func GetTicker(duration int) *clock.Ticker {
  18. return Clock.Ticker(time.Duration(duration) * time.Millisecond)
  19. }
  20. func GetTimer(duration int) *clock.Timer {
  21. return Clock.Timer(time.Duration(duration) * time.Millisecond)
  22. }
  23. func GetNowInMilli() int64 {
  24. return cast.TimeToUnixMilli(Clock.Now())
  25. }