Laravel任务调度中设置withoutOverlapping()后,为何某些任务仍重复执行?
- 内容介绍
- 文章标签
- 相关推荐
本文共计319个文字,预计阅读时间需要2分钟。
Laravel教程:介绍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都清掉就行了.
以上就是解决Laravel某些设置了withoutOverlapping()的任务没有得到执行的问题的详细内容,更多请关注自由互联其它相关文章!
本文共计319个文字,预计阅读时间需要2分钟。
Laravel教程:介绍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都清掉就行了.
以上就是解决Laravel某些设置了withoutOverlapping()的任务没有得到执行的问题的详细内容,更多请关注自由互联其它相关文章!

