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

小编给大家分享一下如何解决Laravel某些设置了withoutOverlapping()的任务没有得到执行的问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

rm -rf storage/framework/cache/*

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

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

php有什么用

php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及php自创新的语法,主要用来做网站开发,许多小型网站都用php开发,因为php是开源的,从而使得php经久不衰。

看完了这篇文章,相信你对“如何解决Laravel某些设置了withoutOverlapping()的任务没有得到执行的问题”有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!