资讯专栏INFORMATION COLUMN

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

yuanxin / 3400人阅读

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

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都清掉就行了

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22883.html

相关文章

  • 剖析 Laravel 计划任务--避免重复

    摘要:持有鸡的人是唯一被允许谈话的人。这样可以确保人们互不说话,也有自己的空间。所以当作业第一次启动时,创建一个互斥,然后每次作业运行时,它检查互斥是否存在,只有在没有工作的情况下运行。 译文GitHub https://github.com/yuansir/diving-laravel-zh 原文链接 https://divinglaravel.com/task-scheduling/pr...

    li21 评论0 收藏0
  • laravel 调度任务没有执行问题

    摘要:调度任务命令如下说明这个命令的作用就是当一个进程还没跑完,不会开启新的进程。简单理解就是加上会引起阻塞,只有完成的任务才会继续下面的进程 1.调度任务命令如下: $schedule->command(emails:send)->withoutOverlapping(); 说明:withoutOverlapping 这个命令的作用就是当一个进程还没跑完,不会开启新的进程。其机制就是开启...

    hearaway 评论0 收藏0
  • 三年前旧代码重构、总结与反思

    摘要:最近在维护一个三年前的旧代码,用的是框架。单元测试和语言并发控制实际上是个蛋疼的问题,夸张一点说,当时的并不能特别轻松地实现并发,甚至不能实现并发。语言的功能之一就是自带单元测试。用语言之前,我的习惯是不写单元测试。 最近在维护一个三年前的旧代码,用的是laravel框架。 从某些方面来讲,这个代码算是比较标准为了实现在规定的时间内完成相关功能,同时程序员水平不高、经过大量优化之后,变...

    Shihira 评论0 收藏0
  • 上线清单 —— 20 个 Laravel 应用性能优化项

    摘要:此问题称为查询问题。您将只执行两个查询而不是这是巨大的性能提升。这项工作是通过从数据库中执行查询完成的查询可能涉及到表以及其他的一些表。比如查询,视图,时间等等另一个非常酷的工具是,对应用,有优雅的调试助手的美称。 showImg(https://segmentfault.com/img/remote/1460000018339917?w=1280&h=722); 让我们开始吧!假若你...

    MadPecker 评论0 收藏0
  • Laravel 技巧之 定时任务

    摘要:对于定时任务的基本用法,官网文档已经描述得很详细了,这里不再多说。这种情况下如果定时任务能够并行执行,就不会有这样的问题。这个时候我们希望能够像队列那样,将定时任务分散到多台服务器上。 定时任务 Scheduled Tasks 是 Laravel 提供的组件之一,稍微上点规模的项目应该都会用到,比如开发微信应用时通过定时任务去刷新access token,比如每天定时发推送提现用户要记...

    keithyau 评论0 收藏0

发表评论

0条评论

yuanxin

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<