相关疑难解决方法(0)

计算下次执行cron作业的时间

我有一个cron"时间定义"

1 * * * * (every hour at xx:01)
2 5 * * * (every day at 05:02)
0 4 3 * * (every third day of the month at 04:00)
* 2 * * 5 (every minute between 02:00 and 02:59 on fridays)
Run Code Online (Sandbox Code Playgroud)

我有一个unix时间戳.

有没有一种明显的方法可以找到(计算)下一次(在给定的时间戳之后)该作业将被执行?

我正在使用PHP,但问题应该与语言无关.

[更新]

" PHP Cron Parser "类(由Ray建议)计算CRON作业应该执行的最后时间,而不是下次.

为了更容易:在我的情况下,cron时间参数只是绝对的,单个数字或"*".没有时间范围,也没有"*/5"间隔.

language-agnostic algorithm cron

47
推荐指数
5
解决办法
3万
查看次数

在PHP中计算cron next-run-time

我正在自己的个人框架中设计一个任务调度程序,并试图避免不那么灵活的"每n分钟/小时/天运行一次"的方法,这种方法更容易实现.我想做的是模仿cron调度.我已经有功能来分割模式并计算当前下一个日期(一天中的某个日期)的下一个值,但如果有比我正在做的更容易的东西,或者可能更好的话,不想继续前进做我正在做的事情的方式.

/**
  * Takes pattern(s) for various time attributes and calculates the next time the task should run
  *
  * @param mixed $minute Pattern or value of minute: 0-59 or 15,45 or * or * /5 (every 5 minutes)
  * @param mixed $hour Pattern or value of hour: 0-23 or 0,6,12 or * or * /2 (every 2 hours)
  * @param mixed $date Pattern or value of date: 1-31 or 1,15 or * or * /5 (every 5 …
Run Code Online (Sandbox Code Playgroud)

php cron

4
推荐指数
1
解决办法
4570
查看次数

标签 统计

cron ×2

algorithm ×1

language-agnostic ×1

php ×1