以前用的1.x版本async_publish第三个参数可以设置延迟发布的秒速,请问2.x版本该怎么操作呢
这样设置的会报错
async_publish(DyBuilderDelayed::instance(), 'abc',null,[ 'x-delay' => 10000, ]); # retu
你的第三个参数是null
第三个参数是$routingKey 填了不管用呀 还是会立即消费
测试了,发送延时消息确实会提示“Invalid publish”
需要修改process里的交换机的类型,但投递时,第一次投递失败,后面投递成功了但是不消费。
好滴谢谢,我试一下
修改类型后,无法生成交换机和队列了,但方法还是返回了true。你可以试一下。我这边无法成功使用。
有知道怎么使用了吗
啥情况?2.x的延迟队列无法使用吗?
是的 @chaz6chez
github 提交 issue 了
试试2.1.3,2.x版本我生产环境没有使用delay,所以没发现这个问题 具体可以看https://github.com/workbunny/webman-rabbitmq/compare/2.1.2...2.1.3 大概就是在QueueBuilder的52行,原本应该使用$this->queueConfig的,结果从1.x迁移上来的时候忘改了写成了$config,导致自动设置delay的exchangeType失效
延迟队列的交换机具有双type,一个exchangeType和一个delay type,分别代表实际队列的交换机类型和数据本质的交换机类型,我们在class文件设置的交换机类型是设置的本质类型,其他的会在初始化时自动设置
2.1.3版本可以了 @chaz6chez
感谢你的issue反馈!
给你点赞
你的第三个参数是null
第三个参数是$routingKey 填了不管用呀 还是会立即消费
测试了,发送延时消息确实会提示“Invalid publish”
需要修改process里的交换机的类型,但投递时,第一次投递失败,后面投递成功了但是不消费。
好滴谢谢,我试一下
修改类型后,无法生成交换机和队列了,但方法还是返回了true。你可以试一下。我这边无法成功使用。
有知道怎么使用了吗
啥情况?2.x的延迟队列无法使用吗?
是的 @chaz6chez
github 提交 issue 了
试试2.1.3,2.x版本我生产环境没有使用delay,所以没发现这个问题
具体可以看https://github.com/workbunny/webman-rabbitmq/compare/2.1.2...2.1.3
大概就是在QueueBuilder的52行,原本应该使用$this->queueConfig的,结果从1.x迁移上来的时候忘改了写成了$config,导致自动设置delay的exchangeType失效
延迟队列的交换机具有双type,一个exchangeType和一个delay type,分别代表实际队列的交换机类型和数据本质的交换机类型,我们在class文件设置的交换机类型是设置的本质类型,其他的会在初始化时自动设置
2.1.3版本可以了 @chaz6chez
感谢你的issue反馈!
给你点赞