Python

快速入门分布式消息队列之 RabbitMQ(下)

我们在 快速入门分布式消息队列之 RabbitMQ(上)和 快速入门分布式消息队列之 RabbitMQ(中) 分别介绍了 RabbitMQ 的对象概念及其关键特性,本篇将通过代码实现的方式来回溯这些知识点,从应用实践的角度继续深入 RabbitMQ。 首先安装 RabbitMQ 的 Python 客户端,最常用的就是 pika: pip install pika …继续阅读 »
Python

快速入门分布式消息队列之 RabbitMQ(中)

紧接上文:快速入门分布式消息队列之 RabbitMQ(上),继续来看 RabbitMQ 都有哪些值得我们关注的特性。 Message Acknowledgment 消息应答 假设一个场景,消费者接收到了消息,但却在处理消息的过程中发生了意外退出的情况,那么此次消息的传递就应该被视为「无效传递」。显然「无效传递」的情况是…继续阅读 »
Python

快速入门分布式消息队列之 RabbitMQ(上)

之前我们的分布式消息队列使用的是RabbitMQ,但仅限于使用它,但是对于它的内部机制的细节没有太多的认知,偶然从某公众号文章中看到RabbitMQ系列的详解,并且比较通俗易懂,所以拿过来分享一下。 简介 AMQP(Advanced Message Queuing Protocol,高级消息队列协议)是一个基于应用层的异步消息服务协议…继续阅读 »
Python

Python Celery 多线程取结果报错:'list' object has no attribute 'decode'

这个问题困扰了我估计有一个星期问题,而问题的一开始我没有任何头绪,问题的表现就是调用节点去请求任务时,时常报错:   报错信息诸如: Protocol Error: , b'\x00\x00\x00\x00\x00\x00\x00\x00\x00*3' Error while reading from socket: (9, 'Bad file descriptor') 'int' object has no attribute 'decode' name 'self' is not defined only …继续阅读 »