2020-09-26 08:07:07 +08:00
|
|
|
package utils
|
|
|
|
|
|
2021-12-08 15:17:45 +08:00
|
|
|
import (
|
|
|
|
|
"time"
|
2024-07-27 15:42:50 +08:00
|
|
|
|
|
|
|
|
"github.com/TeaOSLab/EdgeNode/internal/utils/goman"
|
2021-12-08 15:17:45 +08:00
|
|
|
)
|
2020-09-26 08:07:07 +08:00
|
|
|
|
2021-12-08 15:17:45 +08:00
|
|
|
// Every 定时运行某个函数
|
2020-09-26 08:07:07 +08:00
|
|
|
func Every(duration time.Duration, f func(ticker *Ticker)) *Ticker {
|
|
|
|
|
ticker := NewTicker(duration)
|
2021-12-08 15:17:45 +08:00
|
|
|
goman.New(func() {
|
2020-09-26 08:07:07 +08:00
|
|
|
for ticker.Next() {
|
|
|
|
|
f(ticker)
|
|
|
|
|
}
|
2021-12-08 15:17:45 +08:00
|
|
|
})
|
2020-09-26 08:07:07 +08:00
|
|
|
|
|
|
|
|
return ticker
|
|
|
|
|
}
|