6. 消息发送重试

2023-05-16

当连接失败,Celery会自动重试发送消息,我们可以对重试行为进行设置,譬如说多久重试一次、最大重试次数或者干脆不重试!

当然这只是官方文档说的,我在Windows上进行测试,故意设置了局域网中没有使用的ip地址作为broker的地址,本来以为会像文档中讲的那样,在重试3次后返回并提示错误,结果死活不返回;查看配置文档,找了各种配置项进行修改,都是这样,后来在Linux下面运行就正常了!感觉Celery在Windows下运行真的好多坑啊!

from celery import Celery


app = Celery('tasks',
             backend='amqp://agent:agent@*.*.*.*:5672',
             broker='amqp://agent:agent@*.*.*.*:5672')

app.conf.update(broker_connection_timeout=4.0, broker_connection_max_retries=3)


@app.task
def add(x, y):
    return x + y

  
if __name__ == '__main__':
    add.apply_async((2, 3), retry=True, retry_policy={
        'max_retries': 3,
        'interval_start': 0,
        'interval_step': 0.2,
        'interval_max': 0.2,
    })

通过快捷键退出程序后,可以看到如下输出,明显是阻塞在和broker的tcp连接上了,而且超时时间肯定巨长或者是无限等待

    callback)
  File "E:\Python34\lib\site-packages\kombu\utils\functional.py", line 333, in
etry_over_time
    return fun(*args, **kwargs)
  File "E:\Python34\lib\site-packages\kombu\connection.py", line 261, in connec

    return self.connection
  File "E:\Python34\lib\site-packages\kombu\connection.py", line 802, in connec
ion
    self._connection = self._establish_connection()
  File "E:\Python34\lib\site-packages\kombu\connection.py", line 757, in _estab
ish_connection
    conn = self.transport.establish_connection()
  File "E:\Python34\lib\site-packages\kombu\transport\pyamqp.py", line 130, in
stablish_connection
    conn.connect()
  File "E:\Python34\lib\site-packages\amqp\connection.py", line 282, in connect
    self.transport.connect()
  File "E:\Python34\lib\site-packages\amqp\transport.py", line 109, in connect
    self._connect(self.host, self.port, self.connect_timeout)
  File "E:\Python34\lib\site-packages\amqp\transport.py", line 150, in _connect
    self.sock.connect(sa)
KeyboardInterrupt

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

6. 消息发送重试 的相关文章

  • Qt实战开发-数字软键盘

    开发的思路 布局键盘界面每一个button对应一个槽函数把输入的字符返回到点击处的文本编辑框 开发过程首先定义功能button xff0c 在头文件中定义 QString getText QPushButton span class hlj
  • Qt图形视图框架封装-拿来就用

    简述 图形视图 xff08 Graphics View xff09 提供了一个平台 xff0c 用于大量自定义2D图元的管理与交互 xff0c 并提供了一个视图部件 xff08 view widget xff09 来显示可以缩放和旋转的图元
  • 带参数的宏定义

    带参数的宏定义的一般形式如下 xff1a define lt 宏名 gt xff08 lt 参数表 gt xff09 lt 宏体 gt 其中 xff0c lt 宏名 gt 是一个标识符 xff0c lt 参数表 gt 中的参数可以是一个 x
  • QT 视图(View)/委托(Delegate)/ 模型(Model)/项(Item) 之间的关系

    引言 在学习Qt 中此部分的使用是界面自定义出美观的重要部分 xff0c 熟练的使用 xff0c 可以制作出很好的效果 xff0c 在此梳理一下他们的关系 Model View xff08 模型 视图 xff09 视图 xff08 View
  • char(数字) 转换 int

    刷题遇到一个考点是 char型数字 转 int 进行计算的问题 一看就会 xff0c 一做就错 xff0c 显然是在这里的认识薄弱了 将一番搜索的结果记录下来 xff0c 以备再忘来打脸 char的定义参考 xff1a Java基本数据类型
  • ROS的ros_canopen调试(1)

    Ros canopen是ros支持can通信的package 链接 xff1a http wiki ros org ros canopen distro 61 indigo Ros canopen包结构如下 SocketCAN 是一组开源的
  • linux gcc编译错误:undefined reference to `aio_error‘解决方法

    include lt aio h gt void aiow completion handler sigval t sigval int ret struct aiocb req req 61 struct aiocb sigval siv
  • wait_event_interruptible_locked的使用方法

    wait event interruptible locked interface New wait event interruptible exclusive locked irq macros added They work just
  • printk在应用层的设置方式及读取内核打印信息的方法

    如果 printk 中没有加调试级别 xff0c 则使用默认的调试级别 注意 xff0c 调试级别和格式化字符串之间没有逗号 当前控制台的各打印级别可以通过下面的命令来查看 cat proc sys kernel printk 4 4 1
  • qt编译Qxlsx模块及安装

    主要参考如下地址 xff1a https www icode9 com content 4 715555 html 注意的点 xff1a 1 把下载的代码复制到根目录下 xff0c 路径不要有什么空格啥的 xff0c 否则你会发现perl老
  • GitLab 使用Tortoisegit询问“git@192.168.1.18‘s password“问题解决

    现象如下 xff1a 使用TortoiseGit去拉本地GitLab上建立的项目时 xff0c 一直提示输入密码 xff08 如下图 xff09 xff0c 这个密码又没有指定用户名 xff0c 就算你输入你用户名的密码也是失败 但是很诡异
  • 二代身份证读写器原理及开发

    身份证读写器的作用就是从身份证中读取身份信息 xff08 例如姓名 民族 身份证号等 xff09 xff0c 然后显示或者传输给其他模块使用 功能框架如下 xff1a 功能框图说明 xff1a 1 业务模块 负责向安全模块发送命令 xff0
  • JLINK V10 V11固件修复

    先去我的资源里面下载bootloader和app固件文件 步骤 xff1a 1 PC上安装JLINK V4 9工具 xff08 貌似不能使用太高版本的工具 xff0c 否则有问题 xff09 2 打开j flash v4 9 xff0c 新
  • ROS | 话题通信的编程实现

    ROS 话题通信的编程实现 1 创建功能包2 节点编程与消息定义2 1 案例说明2 2 话题消息的定义2 3 创建 cpp文件2 4 话题发布者编程2 5 话题订阅者编程 3 配置与编译3 1 在CMaKeLists txt中添加编译选项3
  • Cocos2dx 3.0配置环境

    3 15 cocos2dx 3 0rc0 终于放出来了 在这里不得不吐槽一件事 xff0c 3 0版本从Alpha xff0c 到beta xff0c 再到rc xff0c 三个版本竟然都有各自创建项目的方式 xff0c 这样真的不会被人打
  • linux 开机运行应用程序

    把运行应用程序的脚本放在 etc rc local里面 xff0c 如果没有 etc rc local xff0c 需要执行前面的3条指令新建这个文件 注意执行应用最好要在后台执行 xff08 后面加个 amp xff09 xff0c 否则
  • arm linux游戏手柄(joystick)驱动移植

    在arm linux中移植usb joystick驱动 xff0c 参考了如下经验 xff1a Linux系统中使用Xbox360手柄 知 行 博客园 cnblogs com 使用BlueZ连接蓝牙手柄 Dokin丶的博客 CSDN博客 蓝
  • linux ubuntu下网络调试助手(GUI)工具

    mNetAssist这个工具在ubuntu下可以运行 xff0c 是个带界面的tcp调试工具 1 UDP通讯 xff1b 2 可做 TCP客户端 xff1b 3 可做 TCP服务器 xff1b 4 可以 十六进制 传送接收数据 5 可以传送
  • fft的通俗解释

    FFT是离散傅立叶变换的快速算法 xff0c 可以将一个信号变换 到频域 有些信号在时域上是很难看出什么特征的 xff0c 但是如 果变换到频域之后 xff0c 就很容易看出特征了 这就是很多信号 分析采用FFT变换的原因 另外 xff0c

随机推荐

  • linux 字符驱动完整框架(poll,async,waitqueue,nonblock等)

    一个linux内核驱动的完整框架 xff0c 包含了能遇到的大部分内容 xff0c 例如timer poll async waitqueue nonblock等等 xff0c 不过基本上没啥大用 xff0c 就是用来熟悉基础的 xff0c
  • vscode远程调试Linux CUDA程序

    参考了 xff1a CUDA 01 第一个程序 知乎 zhihu com 1 本地安装插件 xff1a remote ssh xff0c Microsoft C C 43 43 与NVIDIA Nsight Visual Studio Co
  • 移植MQTT-C库(附源码)

    Software mqtt org 中mqtt客户端的c库里面有一个叫MQTT C的库 xff0c 就2个实现文件 xff0c 算比较简单的了 xff0c 实现了基本的mqtt客户端功能 xff0c 移植一下试试 我的移植代码放在我的资源里
  • TCP协议的滑动窗口和流量控制算法(转)

    目录 滑动窗口 流量控制 操作系统缓冲区与滑动窗口的关系 窗口关闭 糊涂窗口综合症 拥塞控制 慢启动 拥塞避免算法 拥塞发生 快速恢复 拥塞算法示意图 引入 窗口概念的原因 我们都知道 TCP 是每发送一个数据 xff0c 都要进行一次确认
  • linux应用中的时间处理

    参考下 xff1a Linux下有关时间的函数 xff1a time times clock gettimeofday等 linux time函数 见牛羊的博客 CSDN博客 下面的代码基本涵盖了获取时间和操作计时的一些函数使用 xff1a
  • 从旋转向量到欧拉角的六种计算方法

    利用SolvePNP解出旋转向量 xff0c 旋转向量通过罗德里格斯公式解出旋转矩阵 xff0c 然后通过下面六种公式计算即可 xff0c 欧拉角有十二种 xff0c 六种是相对于自身参考系 xff0c 六种是相对于惯性参考系 xff0c
  • ROS | 服务通信的编程实现

    ROS 服务通信的编程实现 1 创建功能包2 节点编程与服务数据定义2 1 案例说明2 2 服务数据的定义2 3 创建 cpp文件2 4 客户端编程2 5 服务器编程 3 配置与编译3 1 在CMaKeLists txt中添加编译选项3 2
  • HTTP基础验证

    HTTP 内置基础验证 浏览器收到401状态码响应后 xff0c 弹出要求输入信息的对话框 通过验证则显示内容 xff0c 不通过不显示需要验证身份的内容 1 xff1b 手动HTTP基础验证 xff1a header 39 http 1
  • 位域,段域,联合体,结构体操作寄存器

    include lt stdio h gt typedef int Uint16 struct SCICCR BITS bit description Uint16 SCICHAR 3 2 0 Character length contro
  • C++ 网络编程之使用socket + epoll 模拟http 的请求与响应

    为了更好的理解http协议 xff0c 笔者使用了C 43 43 socket模拟了一个http服务器 xff0c 其中的服务器使用了epoll的方式 xff0c 并针对每一个新的连接开启新线程处理 大致分为三个部分 xff0c 具体代码可
  • 【Nova】nova-scheduler过滤称重

    在上一篇 nova scheduler调度过程分析 中 xff0c 对过滤称重的过程一笔带过了 xff0c 这篇着重介绍一下 首先 xff0c 我们声明一下host为主机 xff0c node为节点 xff0c 在OpenStack中一个h
  • 1.通过tcp从daytime服务器获取时间

    最近愈发觉得在学习源代码或者看书的时候 xff0c 做下读书笔记 xff0c 不仅能加深印象和理解 xff0c 同时也方便日后进行回顾 xff0c 所以就写下UNP UNIX网络编程 卷1的读书笔记 xff0c 涉及到的代码基本都是原作者提
  • 4.IPv4和IPv6地址长度

    IPv4地址的二进制形式长度为32 xff0c 使用我们常用的点分十进制形式进行表示那么最长长度为15 xff0c 例如 255 255 255 255 所以在posix的 lt netinet in h gt 中定义的IPv4地址字符串形
  • 29.Nginx HTTP之请求行解析函数ngx_http_parse_request_line

    Nginx的HTTP模块中使用ngx http parse request line函数来对读取的请求行进行解析 xff0c HTTP请求行的格式不是很复杂 xff0c 但是要注意HTTP 0 9与1 0 1 1之间的区别 xff1b 另外
  • 4. 事务隔离级别之Read Uncommitted

    前面我们说过 xff0c 要获得最高的事务隔离性 xff0c 可以采取序列化 串行的方式 xff0c 代价是严重影响系统处理事务的吞吐量 就好像数据库是个多核CPU xff0c 事务串行后 xff0c 那么意味着我们总是在使用单核 xff0
  • Vision Transformer学习笔记

    Vison Transformer学习笔记 1 前言2 网络结构 amp 设计原理2 1 Linear Projection of Flattened Patches2 2 Transformer Encoder2 2 1 Layer No
  • 5. 事务隔离级别之Read Committed

    这篇我们学习事务隔离级别Read Committed xff0c 顾名思义 xff0c 就是读已提交 xff0c 一个事务只能看到其他并发的已提交事务所作的修改 很显然 xff0c 该级别可以解决Read Uncommitted中出现的 脏
  • 6. 事务隔离级别之Repeatable Read

    接下来我们学习Mysql默认的事务隔离级别Repeatable Read xff0c 顾名思义 xff0c 可重复读 xff0c 也即在一个事务范围内相同的查询会返回相同的数据 延续上面的栗子 xff1a 1 小明很开心自己考了69分 xf
  • 7.事务隔离级别之Serializable

    最后我们学习一下最高的事务隔离级别Serializable xff0c 顾名思义 xff0c 可串行化的 xff0c 也即并发事务串行执行 很显然 xff0c 该级别可以避免前面讲到的所有问题 xff1a 脏读 不可重复读 和 幻读 代价是
  • 6. 消息发送重试

    当连接失败 xff0c Celery会自动重试发送消息 xff0c 我们可以对重试行为进行设置 xff0c 譬如说多久重试一次 最大重试次数或者干脆不重试 xff01 当然这只是官方文档说的 xff0c 我在Windows上进行测试 xff