Cron 不支持每秒的定时器,最小粒度为每分钟。如果需要实现每秒执行的定时任务,可以使用 time.Tick(duration) 或者 time.Sleep(duration) 来实现,在每秒钟的开始或者结束时执行任务。例如:
package main
import (
"fmt"
"time"
)
func main() {
ticker := time.NewTicker(time.Second)
for {
select {
case <-ticker.C:
fmt.Println("Task executed at ", time.Now().Format("2006-01-02 15:04:05"))
}
}
}
这段代码将会每秒钟输出当前时间,以模拟每秒执行一次的定时任务。注意,这种方式并不是准确的每秒执行,而是每秒尽量执行一次,因为处理任务和 I/O 等操作可能会耗费时间。