laravel 执行定时任务时出现不执行的问题
在linux服务器中添加了定时任务 * * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
,出现不执行的情况,在调试时手动执行了上面的命令行 php /path-to-your-project/artisan schedule:run
。然后界面上显示提示信息 【no scheduled commands are ready to run】。
在百度后没有能解决,看了官方文档也没有说明。
在尝试后发现是因为定时任务中添加了withoutOverlapping()
这个方法,不能重复执行。而在执行过程中强行中断任务,导致的任务锁没有被释放,导致下次不能正常执行。
解决办法是删除 /storage/farmework/chache
文件夹下面的缓存就可以了,如果缓存用的是Redis等,则需要删除其对应的缓存。