2 个回答
风兮清扬
  • 4.8k
✓ 已被采纳

可以用以下几个package来实现.

  1. mtdowling/cron-expression, 用这个来解析cron表达式

  2. 使用 symfony/process 来执行命令

laravel里面也是这么做的.


$cron = Cron\CronExpression::factory('0 * * * *');
$cmd = 'php xxxx.php';

if ($cron->isDue()) {
    (new Symfony\Process($cmd))->run();
}

类似这种的代码, 设定上很多cmd和相应的cron表达式, 然后循环着判断, 并执行一下.
上面这个代码是个假示例.

laravel调度任务的特点,是把crontab定时的功能,和具体任务的代码都在项目里面,而不是cron指定时间去跑脚本。怎么把这部分代码提出来的方法?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏