-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
如果单个任务处理超过60s时,这个任务会被认为是超时 #1
Comments
你好,如果超过60秒没有ack的话,nsq 是会认为超时 会将连接断掉,到时候再去ack的时候会报找不到链接,消息处理如果处理时间超过60秒是有问题的 你的使用场景不对 |
多谢答复。是不是意味着,nsq是无法支持长耗时任务的? |
你好 消息中间件 一般用于 快速处理的场景,不知道你每秒的消息量是多少,你的这种场景不能快速的ack的话 可以选择直接插入到数据库当中 轮询mysql, 或者使用内存型数据库 ,如redis |
感谢感谢,如果nsq无法适应这种长耗时的任务,那我们就进行拆分吧。多谢多谢! |
你更可以换一个使用姿势,nsq接收到消息后 就插入到mysql 然后ack(return),另外再有个 定时任务 轮询mysql |
我想问下 你github的回复通知 是如何及时收到的,为什么我刚回复 你就能收到? |
我是qq邮箱注册的,直接邮件通知我的。 |
我们使用go客户端 处理nsq任务时,没有这个问题出现。 我还是感觉php这一块与nsq的底层通讯有问题,没有考虑长耗时任务的情况进去。 |
php 的这个老外写的都 五六年前了,如果超过了60秒,期间没有回应心跳链接会被断掉的,你调整参数没用的,因为他阻塞了 心跳的回应,我正在写php的nsq扩展 大概需要半个月事件,写完了通知你 |
是不是,当phpclient接收到job后, |
是的 |
哈哈,给我猜测的一样。nsq这一块,感觉官方对php不怎么支持,官方库都是一堆问题没人管。 |
刚帮你看了下,go客户端 也会超时 断链,只不过他重试了, 其实60秒这个时间可以改 |
Nsqd has options that are "max-heartbeat-interval" and "msg-timeout" See http://nsq.io/components/nsqd.html Try to increase timeout setting in nsqd server but recommend to make your job most quicky to finish 但是,没必要增加心跳间隔时间。 |
扩展sub 功能已写好 欢迎试用 |
hi, 官方网站已经 把扩展版本 给添加上去了哦,欢迎试用 http://nsq.io/clients/client_libraries.html |
赞赞! |
如果单个任务处理超过60s时,这个任务会被认为是超时,
nsqd会反馈:
调整各种参数,都无法消除这个错误
求破!
The text was updated successfully, but these errors were encountered: