任务调度器关于任务执行部分实现(没测没检查, 但应该实现完了)
This commit is contained in:
22
internal/infra/utils/time.go
Normal file
22
internal/infra/utils/time.go
Normal file
@@ -0,0 +1,22 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/robfig/cron/v3"
|
||||
)
|
||||
|
||||
// GetNextCronTime 根据传入的 Cron 表达式计算下一次执行的时间。
|
||||
// 它使用兼容大多数 Cron 实现的标准解析器。
|
||||
// 如果 Cron 表达式无效,它将返回一个错误。
|
||||
func GetNextCronTime(cronExpression string) (time.Time, error) {
|
||||
// cron.ParseStandard() 返回一个支持标准5位或6位(带秒)格式的解析器。
|
||||
schedule, err := cron.ParseStandard(cronExpression)
|
||||
if err != nil {
|
||||
return time.Time{}, err // 返回零值时间和错误
|
||||
}
|
||||
|
||||
// 从当前时间计算下一次执行时间
|
||||
nextTime := schedule.Next(time.Now())
|
||||
return nextTime, nil
|
||||
}
|
||||
Reference in New Issue
Block a user