我在项目中使用 liebig / cron 包作为cron作业,
我正确地遵循了这个包的安装过程,
这是我的代码
Route::get('/cron/run/cronjob123', function () {
Cron::add('example1', '* * * * *', function() {
echo 'success'; die;
return null;
});
$report = Cron::run();
});
现在我正在localhost工作,所以当我进入时
url myproject / cron / run / cronjob123 应显示成功
但直接执行流程将 $ report
并且 $ report 有此结果,
Array ( [rundate] => 1398489241 [runtime] => -1 )
我没有得到我错的地方。
答案 0 :(得分:3)
liebig/cron
在其配置文件中启用了'preventOverlapping' => true
。这可以防止cron作业在运行时再次运行(即前一个周期尚未完成)。
要在cron
文件夹中执行此cron.lock
包创建名为app/storage
的文件。有时由于文件权限问题,即使在成功执行cron作业后也不会删除此文件,从而阻止了将来的任何cron作业运行。
检查app / storage目录中的文件权限。如果存在cron.lock
,请将其删除并让cron作业再次运行。
希望这会对你有所帮助。