Python中函数添加超时时间,Python中signal使用

news2024/9/24 3:27:29
    from time import time, sleep
    import signal
    
    # 模拟要删除5条数据,中间有超时的
    i = 5
    
    # 超时后执行的方法
    def timeout_handler(signal, frame):
        # 引发异常
        raise TimeoutError("删除第" + str(i) + "条,超时!")
    # 或者执行其他操作,不往外抛异常(超时的函数不会被终止,会继续往下执行;一般只记录一下日志)
    # def timeout_handler(signal,frame):
    #     print("--删除第"+str(i)+"条,超时!--")
    
    
    signal.signal(signal.SIGALRM, timeout_handler)
    
    
    def remDate():
        # 设置超时时间
        signal.alarm(1)
        print("准备删除第" + str(i) + "条")
        if i % 2 == 0:
            sleep(1)    # 休眠1秒,模拟删除操作超时
        return "删除第" + str(i) + "条,成功!"
    
    
    while i > 0:
        try:
            print(remDate())
        except Exception as e:
            print("超时 + ", e)
        print("----------------------------------------------")
        i = i - 1

抛异常的运行结果:

 

不抛异常的运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1285392.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【排障记录】Oracle自动归档清理任务无法进行(windows平台),原因居然是?

前言 接用户求助,生产业务上的一套数据库存在归档文件占用过多磁盘空间的问题(约四万个),需要清理,最好设置成定期自动清理,以减少人工干预。 处置过程 由于Oracle搭建在windows操作系统之上&#xff0c…

spring boot mybatis TypeHandler 源码如何初始化及调用

目录 概述使用TypeHandler使用方式在 select | update | insert 中加入 配置文件中指定 源码分析配置文件指定Mapper 执行query如何转换 结束 概述 阅读此文 可以达到 spring boot mybatis TypeHandler 源码如何初始化及如何调用的。 spring boot 版本为 2.7.17,my…

编译原理词法分析:NFA转DFA(原理+完整代码+可视化实现)

NFA转换为DFA 【本文内容摘要】 什么是DFA通过子集构造法将NFA转换为DFA生成DFA的dot文件并且形成可视化。 如果本文对各位看官有用的话,请记得给一个免费的赞哦(收藏也不错)! 文章目录 NFA转换为DFA一、什么是DFA二、NFA转换为…

java表达式、java中jexl3的使用,java中jexl3如何自定义函数方法,jexl3自定义函数怎么传集合数组列表

引入jexl3 <dependency><groupId>org.apache.commons</groupId><artifactId>commons-jexl3</artifactId><version>3.2.1</version> </dependency> 基本用法 //引入对应包 import org.apache.commons.jexl3.*;public class …

【STM32入门】3.OLED屏幕

1.OLED引脚 OLED屏幕的接线按图所示&#xff0c;本例中用的是4管脚OLED屏幕 2.驱动程序 配套的驱动程序是“OLED.c"&#xff0c;主要由以下函数构成&#xff1a;1、初始化&#xff1b;2、清屏&#xff1b;3、显示字符&#xff1b;4、显示字符串&#xff1b;5、显示数字…

杀虫剂市场分析:2022年市场规模突破100亿元

杀虫剂是杀死害虫的一种药剂&#xff0c;目前杀虫剂主要应用在农业种植领域中&#xff0c;其中水稻的应用占比最大。杀虫剂的分类繁多&#xff0c;目前市场上主要以有机磷杀虫剂等为主流。 杀虫剂是指被用于杀死昆虫或防止昆虫进行破坏性行为的化学物质&#xff0c;杀虫剂的种类…

C盘爆满,python pip无法安装应用

解决方法1 C盘扩容 从其他盘压缩空间&#xff0c;C盘使用压缩的空间进行扩容&#xff0c;治标不治本&#xff0c;以后C盘还会越来越大 解决方法2 转移pip安装目录 1. 获取显示pip安装目录 C:\Users\biewang>pip show pip Name: pip Version: 23.3.1 Summary: The PyPA r…

品牌保护与知识产权:跨境电商中的法律挑战与解决方案

随着跨境电商的蓬勃发展&#xff0c;品牌保护和知识产权问题日益成为业界关注的焦点。在全球范围内进行电商业务&#xff0c;涉及到多国法律法规的复杂性&#xff0c;品牌所有者需要面对一系列法律挑战&#xff0c;保护其品牌和知识产权不受侵害。本文将深入探讨跨境电商中面临…

操作系统概论:揭秘计算机背后的神秘力量

操作系统概论 & 功能 概述定义操作系统功能作为系统资源的管理者向上层提供方便易用的服务作为最接近硬件的层次 主页传送门&#xff1a;&#x1f4c0; 传送 概述 概念&#xff1a; 定义 控制和管理计算机硬件和软件资源的程序一种系统软件为上层用户、应用程序提供简单易…

关于对ArrayBlockingQueue 的AQS探究

1、介绍 条件队列是 AQS 中最容易被忽视的一个细节。大部分时候&#xff0c;我们都用不上条件队列&#xff0c;但是这并不说明条件队列就没有用处了&#xff0c;它反而是我们学习生产者-消费者模式的最佳教材。条件队列是指一个阻塞队列&#xff0c;其中的元素是等待某个条件成…

派对的最大快乐值

与其明天开始&#xff0c;不如现在行动&#xff01; 文章目录 派对的最大快乐值 &#x1f48e;总结 派对的最大快乐值 题目 员工信息的定义如下&#xff1a; 公司的每个员工都符合 Employee 类的描述。整个公司的人员结构可以看作是一棵标准的、没有环的多叉树。树的头节点是公…

Win环境中安装Jenkins指南

目录 安装Java环境 下载并安装Jenkins Jenkins版本 启动Jenkins 如何删除Jenkins 安装Java环境 访问 Oracle官方网站 下载并安装JDK 安装完成后&#xff0c;设置系统环境变量 JAVA_HOME 到你的 JDK 安装路径&#xff0c;并将 %JAVA_HOME%\bin 添加到系统 PATH 中。 下载…

css实现姓名两端对齐

1.1 效果 1.2 主要代码 text-align-last: justify; 1.3 html完整代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0&quo…

外包干了3年,技术退步明显...

先说情况&#xff0c;大专毕业&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&#xf…

【UE】UEC++ CurveFloat、CurveVector、CurveLinearColor

目录 【UE】UEC CurveFloat、CurveVector、CurveLinearColor 一、CurveFloat 二、CurveVector 三、CurveLinearColor 四、材质设置 五、运行结果 【UE】UEC CurveFloat、CurveVector、CurveLinearColor 一、CurveFloat #pragma once#include "CoreMinimal.h" …

人工智能时代AIGC绘画实战

系列文章目录 送书第一期 《用户画像&#xff1a;平台构建与业务实践》 送书活动之抽奖工具的打造 《获取博客评论用户抽取幸运中奖者》 送书第二期 《Spring Cloud Alibaba核心技术与实战案例》 送书第三期 《深入浅出Java虚拟机》 送书第四期 《AI时代项目经理成长之道》 …

RAG落地实践、AI游戏开发、上海·深圳·广州线下工坊启动!星河社区重磅周

飞桨星河社区在成立的5年以来&#xff0c;已汇集660万AI开发者&#xff0c;覆盖深度学习初学者、在职开发者、企业开发者、高校教师、创业者等&#xff0c;已成为AI领域最具影响力的社区之一&#xff0c;无论是AI爱好者还是AI开发者&#xff0c;都能在这里探索AI的无限可能。飞…

如何无线桥接路由器,让你的网络覆盖范围变大,做到网络信号无缝连接

你是否希望通过在两个路由器之间创建无线网桥(网络桥接)来扩大网络覆盖范围?好吧,你来对地方了!在当今日益互联的世界,拥有一个强大可靠的网络比以往任何时候都更重要。 无线网桥允许你无线连接两个或多个路由器,有效地扩展网络覆盖范围,并在更大的区域提供无缝的互联…

算法-滑动窗口

一、滑动窗口思想 概念 在数组双指针里&#xff0c;我们介绍过 "对撞型" 和 "快慢型" 两种方式&#xff0c;而滑动窗口思想就是快慢型的特例。 实际使用 计算机网络中有滑动窗口协议&#xff08;Sliding Window Protocol&#xff09;&#xff0c;该协议…

02、pytest环境准备

工具准备 python官网下载&#xff1a;https://www.python.org/pycharm官网下载&#xff1a;https://www.jetbrains.com.cn/en-us/pycharm/pytest官方文档&#xff1a;https://docs.pytest.org/en/7.4.x/python-office官网文档&#xff1a;http://www.python-office.com/ 参考…