摘要:`bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic dblab``bin/kafka-topics.sh --list --zookeeper l
阅读全文
随笔分类 - 消息队列
摘要:`bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic dblab``bin/kafka-topics.sh --list --zookeeper l
阅读全文
摘要:要开启9092端口 server.properties listeners=PLAINTEXT:// 内网的ip地址和9092端口advertised.listeners=PLAINTEXT://外网的ip的地址和9092端口
阅读全文
摘要:如果想在任务成功或者失败额外做点事,可以重写Task类。 tasks.py from __future__ import absolute_import, unicode_literals from .celery import app from celery.task import Task cl
阅读全文
摘要:实验目标: 访问http://127.0.0.1:8000/task_id/ 返回任务ID:068cd3cc-3572-46c0-9a33-f028772030b1 访问http://127.0.0.1:8000/task_result/?id=068cd3cc-3572-46c0-9a33-f02
阅读全文
摘要:提交一个耗时的请求, 立即返回ID,拿着这个ID去查询任务处理进程 自己想到的方案:前端请求接口a,(接口a立即开始处理任务,把任务的处理到哪一步放在redis中)前端请求接口b,(接口b立即返回redis中进行到哪一步) 前端先调用接口a(此时接口a阻塞)前端继续轮询接口b获取a进行到哪一步了当接
阅读全文
摘要:如果想发一条命令给远程机器,再把结果返回 这种模式叫RPC:远程过程调用 发送方将发送的消息放在一个queue里,由接收方取。 接收方再把执行结果放在另外一个queue里,由发送方取 实际上,发送方把1,随机生成的接收queue名 2,UUID值发过去了(用于确认) 客户端:作用是发送指令 '''
阅读全文
摘要:topic模式跟direct差不多,只是把type改一下就行。 direct是把固定的routing_key跟queue绑定,topic是把模糊的routing_key跟queue绑定 原理图: 发布者: ''' 发布者publisher ''' import pika import sys con
阅读全文
摘要:一、 消息的广播需要exchange:exchange是一个转发器,其实把消息发给RabbitMQ里的exchange fanout: 所有bind到此exchange的queue都可以接收消息,广播 direct: 通过routingKey和exchange决定的那个唯一的queue可以接收消息
阅读全文
摘要:一、 消息的广播需要exchange:exchange是一个转发器,其实把消息发给RabbitMQ里的exchange fanout: 所有bind到此exchange的queue都可以接收消息,广播 direct: 通过routingKey和exchange决定的那个唯一的queue可以接收消息
阅读全文
摘要:有的消费者处理速度快,有的消费者处理速度慢,我们想给处理快的多发消息,处理慢的少发消息, 怎么办呢?按照之前的轮询模式,肯定不行的,这里可以检测消息数量,如果消费者正在处理就不给他发 .... def callback(ch, method, properties, body): print(" >
阅读全文
摘要:我们知道,如果消息接收端挂了,消息会保存在队列里。下次接收端启动就会接收到消息。 如果RabbitMQ挂了怎么办呢?这时候需要将消息持久化到硬盘 消息发送端:producer ........... # 建立管道 channel = connection.channel() # 声明队列 1、加上d
阅读全文
摘要:一、RabbitMQ简介: ''' RabbitMQ就是消息队列 之前不是学了Queue了吗,都是队列还学RabbitMQ干嘛? 干的事情是一样的 Python的Queue有两个, 一个线程Queue生产者消费者模型,一个进程Queue用于父进程与子进程交互 两个完全独立的Python程序就不能交互
阅读全文
摘要:一、下载安装ERLANG语言 otp_win64_20.3.exe 一直下一步。然后设置环境变量 ERLANG_HOME C:\Program Files\erl9.3 二、安装RabbitMQ 一直下一步。查看该服务处于启动状态。 三、安装包:pika
阅读全文
|