rm -rf storage/framework/ cache/*
The essence is that due to unexpected circumstances, the last executing task did not end normally, but its mutex tag file is still there, causing the Laravel framework's php artisan schedule: The run command task is still executing, so in order to avoidOverlapping, the execution is skipped. In this case, manually deleting the mutex mark can return to normal.
The mutex tag is controlled by the Laravel framework's
vendor/laravel/framework/src/Illuminate/Console/Scheduling/CacheMutex.php file, using the CACHE_DRIVER specified in .env ( Corresponds to the configuration specified in
config/cache.php
), generally the default is file type, corresponding to the storage/framework/cache### directory, so just clear the cache in this directory. .######
The above is the detailed content of Solve the problem that some tasks in Laravel that are set withoutOverlapping() are not executed. For more information, please follow other related articles on the PHP Chinese website!