rabbitmq queue_declare arguments参数注释
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26656329/article/details/77891793
说明
官方文档
在创建queue时可以指定很多参数,可以限制队列的大小、消息的死信时间、优先级等等。
queue消息条数限制
x-max-length
该参数是非负整数值
官方文档
限制加入queue中消息的条数。先进先出原则,超过10条后面的消息会顶替前面的消息。
credentials = pika.PlainCredentials(username='mq', password='654321')
connection = pika.BlockingConnection(
pika.ConnectionParameters(
host='localhost', port=5672, virtual_host='/',
credentials=credentials
)
)
channel = connection.channel()
channel.exchange_declare(exchange='tests', durable=True)
channel.queue_declare(queue='test', durable=True, arguments={'x-max-length': 10}) # 队列中最多10条消息
1
2
3
4
5
6
7
8
9
10
queue消息容量限制
x-max-length-bytes
该参数是非负整数值
官方文档
该参数和x-max-length目的一样限制队列的容量,但是这个是靠队列大小(bytes)来达到限制。
queue消息存活时间
x-message-ttl
该参数是非负整数值
官方文档
创建queue时设置该参数可指定消息在该queue中待多久,可根据x-dead-letter-routing-key和x-dead-letter-exchange生成可延迟的死信队列。
channel.queue_declare(
queue='test',
durable=True,
arguments={'x-message-ttl': 60000} # 消息的存活时间是60秒
)
1
2
3
4
5
死信队列
x-dead-letter-routing-key
x-dead-letter-exchange
官方文档
创建queue时参数arguments设置了x-dead-letter-routing-key和x-dead-letter-exchange,会在x-message-ttl时间到期后把消息放到x-dead-letter-routing-key和x-dead-letter-exchange指定的队列中达到延迟队列的目的。
arguments = {
'x-message-ttl': 10000, # 延迟时间 (毫秒)
'x-dead-letter-exchange': exchange, # 延迟结束后指向交换机(死信收容交换机)
'x-dead-letter-routing-key': queue, # 延迟结束后指向队列(死信收容队列),可直接设置queue name也可以设置routing-key
}
channel.queue_declare(
queue='test',
durable=True,
arguments=arguments
)
1
2
3
4
5
6
7
8
9
10
queue存活时间
x-expires
官方文档
创建queue时参数arguments设置了x-expires参数,该queue会在x-expires到期后queue消息,亲身测试直接消失(哪怕里面有未消费的消息)。
channel.queue_declare(
queue='testss',
durable=True,
arguments={'x-expires': 6000} # 队列的存活时间是6秒
)
1
2
3
4
5
消息优先级
x-max-priority
官方文档
版本限制3.5+
创建queue时arguments可以使用x-max-priority参数声明优先级队列 。该参数应该是一个整数,表示队列应该支持的最大优先级。
建议使用1到10之间。目前使用更多的优先级将消耗更多的资源(Erlang进程)。
设置该参数同时设置死信队列时或造成已过期的低优先级消息会在未过期的高优先级消息后面执行。
该参数会造成额外的CPU消耗。
channel.queue_declare(queue='test', durable=True, arguments={'x-max-priority': 10})
1
合理利用参数达到实现的目的。
---------------------
作者:偶爱喝可乐
来源:CSDN
原文:https://blog.csdn.net/qq_26656329/article/details/77891793?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!
rabbitmq queue_declare arguments参数注释的更多相关文章
- JS中的for/in语句和arguments参数
在js应用中,有时候我们会遇到希望定义一个函数可以被不同情况调用,比如参数个数不固定的情况. 可以使用for/in语句和arguments参数解决. 举个简单例子:定义一个计算总和的函数,需要计算的数 ...
- 让Jayrock插上翅膀(加入输入输出参数注释,测试页面有注释,下拉框可以搜索)
继上一篇文章介绍了Jayrock组件开发接口的具体步骤和优缺点之后,今天给大家带来的就是,如何修复这些缺点. 首先来回顾一下修复的缺点有哪些: 1.每个接口的只能写大概的注释,不能分开来写,如接口的主 ...
- 《无所不能的JavaScript编程系列:arguments 参数对象》
前言:无所不能的JavaScript JavaScript起源于Netscape公司的LiveScript语言,这是一种基于对象和事件驱动的客户端脚本语言,最初的设计是为了检验HTML表单输入的正确性 ...
- linux内核参数注释与优化
目录 1.linux内核参数注释 2.两种修改内核参数方法 3.内核优化参数生产配置 参数解释由网络上收集整理,常用优化参数对比了网上多个实际应用进行表格化整理,使查看更直观. 学习linux也有不少 ...
- Linux网卡配置文件参数注释
Linux网卡配置文件参数注释 作者:Eric 微信:loveoracle11g [root@linux-node2 ~]# cat /etc/sysconfig/network-scripts/if ...
- arguments 参数
下面要写的是知识梳理的一个案例: 写一个求和的方法sumFn,不管传递的参数有什么,都能将最终的和算出来,并且返回给函数外部使用.(要求:一个参数都不传默认结果为0,对于传递的非正常数字的参数不与累加 ...
- (转)linux内核参数注释与优化
linux内核参数注释与优化 原文:http://blog.51cto.com/yangrong/1321594 http://oldboy.blog.51.cto.com/2561410/13364 ...
- python 语法-参数注释
python 语法-参数注释 最近碰到的这样的代码: def func(a:"shuoming") -> int: print("函数已运行.") fun ...
- IDEA自定义类注释和方法注释(自定义groovyScript方法实现多行参数注释)
一.类注释 1.打开设置面板:file -> setting -> Editor -> file and code Templates 选择其中的inclues选项卡,并选择File ...
随机推荐
- Kb,KB,Kbps,Mb,Mbps等一些列概念
先普及一下Kb,KB,Kbps,Mb,Mbps等一些列概念 1Byte = 8bit1KB (Kilobyte 千字节)=1024Byte1MB (Megabyte,兆字节,简称“兆”)=1024KB ...
- android 8 wifi 信号等级
wifi信号等级 /frameworks/base/wifi/java/android/net/wifi/wifimanager.java calculateSignalLevel为计算信号等级函数, ...
- Spring Data Redis学习
本文是从为知笔记上复制过来的,懒得调整格式了,为知笔记版本是带格式的,内容也比这里全.点这里 为知笔记版本 Spring Data Redis 学习 Version 1.8.4.Release 前言 ...
- java的GUI程序的基本思路是以JFrame为基础
JFrame – java的GUI程序的基本思路是以JFrame为基础,它是屏幕上window的对象,能够最大化.最小化.关闭. JPanel – Java图形用户界面(GUI)工具包swing中的面 ...
- 嵌入式开发值zynq---zynq中tlv320aic23b spi的驱动移植
http://blog.csdn.net/djason43/article/details/52876742 http://blog.csdn.net/lxmky/article/details/68 ...
- PHP进阶。
老手段,百度“PHP进阶” 不过,今天运气不错,搜到一个“PHP特级内容讲解”,地址是:http://wenku.baidu.com/course/view/fd8e591b6bd97f192279e ...
- TensorFlow:tf.contrib.layers.xavier_initializer
xavier_initializer( uniform=True, seed=None, dtype=tf.float32 ) 该函数返回一个用于初始化权重的初始化程序 “Xavier” .这个初始化 ...
- 正则表达式(Java版整理)
基础 元字符 代码 说明 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 ^ 匹配字符串的开始 $ 匹配字符串的结束 \b 匹配字符串的结束 ...
- android 静默安装 卸载 资料汇总
1. android + eclipse + 后台静默安装(一看就会) 2. 适用于android1.5以下版本apk静默安装 3. error: INSTALL_FAILED_SHARED_USER ...
- UNIX环境编程学习笔记(11)——文件I/O之文件时间以及 utime 函数
lienhua342014-09-16 1 文件的时间 每个文件都有三个时间字段,如表 1 所示. 表 1: 文件的三个时间字段 说明 字段 st_atime 文件数据的最后访问时间 st_mtime ...