Laravel某些設(shè)置了withoutOverlapping()的任務(wù)沒有得到執(zhí)行的問題解決
rm -rf storage/framework/cache/*
本質(zhì)是因?yàn)橐馔馇闆r導(dǎo)致上一個正在執(zhí)行中的任務(wù)沒有正常結(jié)束骤肛,更它的mutex標(biāo)記文件卻還在缨恒,使得Laravel框架的php artisan schedule:run命令任務(wù)該任務(wù)還在執(zhí)行中谓谦,所以為了withoutOverlapping粹懒,就跳過執(zhí)行了聋呢,在這種情況下拨齐,手動將mutex標(biāo)記刪掉就能恢復(fù)正常鲸睛。
mutex標(biāo)記是受Laravel框架的vendor/laravel/framework/src/Illuminate/Console/Scheduling/CacheMutex.php文件控制的,用的是.env中指定的CACHE_DRIVER(對應(yīng)到config/cache.php中指定的配置)关划,一般默認(rèn)是file類型小染,對應(yīng)到storage/framework/cache目錄,所以把該目錄的cache都清掉就行了