为什么消息一入队就在Pending Jobs中??

为什么消息一入队就在Pending Jobs中??
环境:windows或者linux+redis
现在是测试阶段,数据只有几条,开发环境win,生产环境linux,还没有大规模使用,也就是10条左右的队列数,也没有复杂的计算,怎么老是超时或者等待中

在Linux上又遇到这个问题了!

让PHP再次伟大
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 37

你的意思是在队列中不执行是吗?

2年前 评论
勇敢的心 (楼主) 2年前
Summer

手头上有没有非 Windows 的环境,有的话试过没问题就别管了。Docker 、虚拟机、或 VPS。

Windows 下有一些坑,陷进去就完全是浪费时间,如果是 Linux 解决了以后还能学点服务器知识。尤其是这种非主流操作。

2年前 评论
勇敢的心 (楼主) 2年前
mshx 2年前
勇敢的心 (楼主) 2年前
mshx 2年前
playmaker 2年前
勇敢的心 (楼主) 2年前
laravelphp_game 2年前
playmaker 2年前
arukas 2年前
勇敢的心 (楼主) 2年前
FMW 2年前
勇敢的心 (楼主) 2年前

讨论的是问题本身,是可以先解决你的问题先。

可能你公司就是需要 Windows,身不由己。但是站长给的题外话是对的,Windows 学的一些类似于 IE 6 的 Hack 什么的,最后都是浪费时间,毕竟市场份额都是 Linux。

Windows 确实很多问题,长久之计,可以的话还是提前搞个计划上 Linux 环境。

2年前 评论
勇敢的心 (楼主) 2年前

队列的任务内容是什么?

2年前 评论
勇敢的心 (楼主) 2年前
24K大白羊 (作者) 2年前

file 一直在用,没有遇到这个问题,重新开个项目随便写个任务试试了

2年前 评论
勇敢的心 (楼主) 2年前
风中絮 (作者) 2年前
dalei 2年前
勇敢的心 (楼主) 2年前

stack trace里,卡住的是哪一行代码?

2年前 评论
勇敢的心 (楼主) 2年前
skys215 (作者) 2年前

调试一下是不是代码卡主了

2年前 评论
勇敢的心 (楼主) 2年前

你这个应该是尝试太多次了,而且总时间超过了。建议加大对列通道或者加允许执行的时间

2年前 评论
勇敢的心 (楼主) 2年前

为什么消息一入队就在 Pending Jobs 中?? 因為這個是正在等待執行的任務 然後那個delayed 這個是由於執行失敗了 在failed jobs裡面能看到 因為這個也算是未執行完的 你在failed jobs中把這個執行成功了 這邊可能就沒有了

2年前 评论

我也发现了,今天抽时间定位了下问题,应该是下面这个原因引起的

Pending Jobs这个页有个定时任务,每3秒一个请求去获取最新的pending jobs数据 github.com/laravel/horizon/blob/5....

但是当队列执行完时,定时任务去获取数据并更新页面时js报错了,导致页面上的数据没更新,除非你手动刷新下页面。

也可以改下vendor/laravel/horizon/resources/js/screens/recentJobs/index.vue文件第71行 loadJobs 方法的判断条件,重新编译后,执行 php artisan horizon:publish 重新发布下静态文件 github.com/laravel/horizon/blob/5....

不太懂前端,根据报错改的,被我改成如下这样了

if (!this.$root.autoLoadsNewEntries && refreshing && this.jobs.length && _.first(response.data.jobs) && _.first(this.jobs) && _.first(response.data.jobs).id !== _.first(this.jobs).id) {

正常了

2年前 评论
勇敢的心 (楼主) 2年前
时间和光线 (作者) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!