result = channel.queue_declare(queue=threadName, exclusive=True) #接收端退出时,销毁临时产生的队列
queue_name = result.method.queue
channel.queue_bind(exchange='messages',
queue=queue_name,
routing_key=threadName)
-----------------------------------------------
exchange模式 fanout 直接把任务发给所有的人,消费者不能收到未启用之前的消息
-------------------------------------------------
channel.basic_qos(prefetch_count=1) # 按能力取任务,消费者端
channel.queue_declare(queue='task_queue',durable=True) # 队列持久化
channel.basic_publish(exchange='messages',
routing_key='task_queue',
body=task,
properties=pika.BasicProperties(
delivery_mode=2, # make message persistent
no_ack=True# 不告诉rabbit任务执行完
)
)
----------------------------------------------
rabbitMQ 常用命令
启动监控管理器:rabbitmq-plugins enable rabbitmq_management
关闭监控管理器:rabbitmq-plugins disable rabbitmq_management
启动rabbitmq:rabbitmq-service start
关闭rabbitmq:rabbitmq-service stop
查看所有的队列:rabbitmqctl list_queues
清除所有的队列:rabbitmqctl reset # 需要先关闭rabbit
关闭应用:rabbitmqctl stop_app
启动应用:rabbitmqctl start_app
用户和权限设置(后面用处)
添加用户:rabbitmqctl add_user username password
分配角色:rabbitmqctl set_user_tags username administrator
新增虚拟主机:rabbitmqctl add_vhost vhost_name
将新虚拟主机授权给新用户:rabbitmqctl set_permissions -p vhost_name username '.*' '.*' '.*'
角色说明
none 最小权限角色
management 管理员角色
policymaker 决策者
monitoring 监控
administrator 超级管理员
-------------------------------
rabbit总结
最新推荐文章于 2022-09-27 16:30:01 发布