Celery批量异步调用任务一直等待结果
采用celery中group方式进行批量异步调用,且需要等待返回结果时(未设置超时时间),以下两种情况会导致任务一直等待结果:
1. 如果异步方法对异常未进行处理,直接抛出,则会导致group的job一直等待结果,如下代码:
@shared_task(bind=True)
def test_task_method(self, number, is_ignore_exception):try:logger.info('enter method')# if number % 10 == 0:# raise Exception('throw exception')time.sleep(15)except Exception:logger.info(traceback.format_exc())if not is_ignore_exception:raise
2. celery出现任务task丢失情况,实际执行任务与期待任务数量不符合,则会一直等待结果。因为可能部分开发者对查看Broker和celery执行的情况命令不熟悉,这里推荐安装Flower监控celery,文档参考Flower文档。
在执行中观察celery是否掉线,如下图:
如果出现掉线,则查看celery日志或者系统日志(/var/log/message)查看是存在进程被kill情况,如下图:
Celery批量异步调用任务一直等待结果相关推荐
- springboot 多线程_SpringBoot异步调用@Async
一. 什么是异步调用? 异步调用是相对于同步调用而言的,同步调用是指程序按预定顺序一步步执行,每一步必须等到上一步执行完后才能执行,异步调用则无需等待上一步程序执行完即可执行. 二. 如何实现异步调用 ...
- odciexttableopen 调用出错 error open log_如何在 Spring 异步调用中传递上下文
什么是异步调用? 异步调用是相对于同步调用而言的,同步调用是指程序按预定顺序一步步执行,每一步必须等到上一步执行完后才能执行,异步调用则无需等待上一步程序执行完即可执行.异步调用指,在程序在执行时,无 ...
- 学习笔记(34):Python网络编程并发编程-异步调用与回调机制
立即学习:https://edu.csdn.net/course/play/24458/296452?utm_source=blogtoedu 1.知识点:(详细见代码注释) 1)同步调用: res1 ...
- delphi 异步 调用 带参数_如何在 Spring 异步调用中传递上下文
什么是异步调用? 异步调用是相对于同步调用而言的,同步调用是指程序按预定顺序一步步执行,每一步必须等到上一步执行完后才能执行,异步调用则无需等待上一步程序执行完即可执行.异步调用指,在程序在执行时,无 ...
- SpringBoot利用@Async注解实现异步调用
前言:异步编程是让程序并发运行的一种手段,使用异步编程可以大大提高我们程序的吞吐量,减少用户的等待时间.在Java并发编程中实现异步功能,一般是需要使用线程或者线程池.而实现一个线程,要么继承Thre ...
- 第11章 异步消息与异步调用
开心一笑 [老爸斗地主把豆豆输光了,叫我给他充值.我说他不要在游戏里花钱,打发时间玩玩得了.老爸一下火了:小时候你要哪个玩具老子不给你买了,现在让你给我买点豆豆你都不肯,看来老了是指望不上你了... ...
- 第一节:复习委托,并且通过委托的异步调用开启一个新线程和异步回调、异步等待。
一. 再谈委托 1. 委托是一个关键字为delegate的自定义类型,通过委托可以把方法以参数的形式传递给另外一个方法,实现插件式的开发模式: 同时调用委托的时候,委托所包含的所有方法都会被实现. 2 ...
- 第一节:复习委托,并且通过委托的异步调用开启一个新线程和异步回调、异步等待
一. 再谈委托 1. 委托是一个关键字为delegate的自定义类型,通过委托可以把方法以参数的形式传递给另外一个方法,实现插件式的开发模式: 同时调用委托的时候,委托所包含的所有方法都会被实现. 2 ...
- php 不等待返回的实现方法(异步调用)
PHP异步执行的常用方式常见的有以下几种,可以根据各自优缺点进行选择: 1.客户端页面采用AJAX技术请求服务器 优点:最简单,也最快,就是在返回给客户端的HTML代码中,嵌入AJAX调用,或者,嵌入 ...
最新文章
- 图像几何变换C++实现--镜像,平移,旋转,错切,缩放
- junction.exe 放在哪_情侣拥抱的5种姿势,可以看出感情深浅,你们属于哪一种?...
- 区块链BaaS云服务(12)易居(中国) 房地产 EBaaS(Estate Blockchain as a Service)
- synchronized,ReentrantLock解决锁冲突,脏读的问题
- Java高级工程师每日面试题精选,面试经历分享
- select + 线程池 回应服务器(windows)
- 程序员和女教师相亲,晒出每月教师公积金,大家惊呼: 比我工资都高
- 【新书推荐】Silverlight 4教程书籍推荐
- RuntimeError: failed to execute [‘dot‘, ‘-Tpdf‘, ‘-O‘, ‘test‘], make sure the Graphviz executables
- python关于csv的查询系统_使用Python对csv文件操作
- dev cpp编译c语言,C语言实践|Dev cpp开发环境及其介绍
- 上计算机课的心得体会作文,计算机学习心得体会范文
- 新手不要再被误导!这是一篇最新的Xposed模块编写教程
- 装饰模式 DecoratePattern
- 微信扫码点餐小程序怎么做,一步步教你
- 金三银四阿里我去定了,谁也拦不住我,这份《Android面试宝典》说的
- switchhosts使用指南
- MySQL复制表结构以及表数据
- GitHubActions详解
- Classification and inference with machine learning
热门文章
- 杰理之测试最大输出功率【篇】
- php strtotime mktime,php mktime和strtotime
- 【毕业设计之python系列】基于django的奶茶店管理系统
- python的head函数_head first python_1 递归函数来处理列表
- ChatGPT编程能力实证研究
- apm32f103c8t6 通过定时器1的PWM功能输出频率3mhz占空比50%的方波
- ai数学之矩阵特征值、特征向量、矩阵分解
- ibm bpm开发 手册_使用定制的IBM BPM数据处理程序简化管理复杂输入数据的方式
- SkyWalking链路追踪-Agent (代理人)
- 002拯救oibh总部