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

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

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

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 37

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

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

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

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

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

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

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

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

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

队列的任务内容是什么?

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

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

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

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

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

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

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

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

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

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

3年前 评论

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

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) {

正常了

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

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