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

相關文章
相關標籤/搜索