Laravel某些设置了withoutOverlapping()的任务没有获得执行的问题解决

rm -rf storage/framework/cache/*php

本质是由于意外状况致使上一个正在执行中的任务没有正常结束,更它的mutex标记文件却还在,使得Laravel框架的php artisan schedule:run命令任务该任务还在执行中,因此为了withoutOverlapping,就跳过执行了,在这种状况下,手动将mutex标记删掉就能恢复正常。laravel

mutex标记是受Laravel框架的vendor/laravel/framework/src/Illuminate/Console/Scheduling/CacheMutex.php文件控制的,用的是.env中指定的CACHE_DRIVER(对应到config/cache.php中指定的配置),通常默认是file类型,对应到storage/framework/cache目录,因此把该目录的cache都清掉就好了app

相关文章
相关标签/搜索