http://blog.sina.com.cn/s/blog_63041bb80102uy5o.html

背景:

最近写的Python代码不知为何,总是执行到一半卡住不动,为了使程序能够继续运行,设置了函数调用超时机制。

代码:import time

import signal

def test(i):

time.sleep(i%4)

print "%d within time"%(i)

return i

if __name__ == '__main__':

def handler(signum, frame):

raise AssertionError

i = 0

for i in range(1,10):

try:

signal.signal(signal.SIGALRM, handler)

signal.alarm(3)

test(i)

i = i + 1

signal.alarm(0)

except AssertionError:

print "%d timeout"%(i)

说明:

1、调用test函数超时监控,使用sleep模拟函数执行超时

2、引入signal模块,设置handler捕获超时信息,返回断言错误

3、alarm(3),设置3秒闹钟,函数调用超时3秒则直接返回

4、捕获异常,打印超时信息

程序执行结果:1 within time

2 within time

3 timeout

4 within time

5 within time

6 within time

7 timeout

8 within time

9 within time

python给函数设置超时时间_Python设置函数调用超时相关推荐

  1. pip 设置超时时间_Python pip使用超时问题解决方案

    引言 之前有位群友在群里发了个问题,说使用pip安装第三方包遇到"Read timeout".我相信很多时候,大家在使用pip都会遇到这个问题,所以,我想有必要写一遍文章来总结一下 ...

  2. 服务器时间修改连接超时时间,服务器设置网络连接超时时间设置

    服务器设置网络连接超时时间设置 内容精选 换一换 有以下几种现象:将制作好的SD卡插入开发者板并上电后,开发者板LED1与LED2灯状态信息异常.将制作好的SD卡插入开发者板,并通过USB方式连接Ub ...

  3. 服务超时时间如何设置、如何对超时时间治理、超时设计原则一文揭秘!

    微服务是⼀种分布式架构,系统内各部分(服务)被部署为单独的应用程序,并通过某种远程访问协议进⾏通讯.分布式应⽤的挑战之⼀就是如何管理远程服务的可用性和它们的响应.本⽂主要探讨服务的响应时间对系统的影响 ...

  4. hset 设置超时_Redis分布式事务中超时时间如何设置?

    Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件.它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists ...

  5. [bug]超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。...

    引言 自己弄了一个小项目--日程管理系统,在初始化日期时,查询了数据库,每个日期就会查询一次数据库,就导致了这个问题. 问题 出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小. Desc ...

  6. 但是尚未从池中获取连接_解决报错“超时时间已到。超时时间已到,但是尚未从池中获取连接”的方案...

    超时时间已到.超时时间已到,但是尚未从池中获取连接.出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小. DataReader是独占连接的,就是说你的程序可能设计上有问题.比如说最大连接设 ...

  7. php工具箱mysql停止进程_PHP进程卡死和MySQL超时时间的设置方法

    前言 最近线上一台服务器的nginx总是会有一部分请求(不是所有请求)报upstream timed out (110: Connection timed out) while connecting ...

  8. 网页 服务器长连接超时时间,服务器设置长连接超时时间

    服务器设置长连接超时时间 内容精选 换一换 有以下几种现象:将制作好的SD卡插入开发者板并上电后,开发者板LED1与LED2灯状态信息异常.将制作好的SD卡插入开发者板,并通过USB方式连接Ubunt ...

  9. httpwebrequest超时时间timeout设置无效_【SpringBoot WEB 系列】RestTemplate 之超时设置...

    [SpringBoot WEB 系列]RestTemplate 之超时设置 一般来讲我们访问外部资源时,需要做一个保护,比如最常见的添加一个超时设置,避免一直被阻塞,RestTemplate 可以通过 ...

最新文章

  1. list mybatis 接收 类型_基于mybatis拦截器实现的一款简易影子表自动切换插件
  2. 牛X,试用了下 GitHub 上 2 万 Star 的第一抢票神器,3 秒钟抢到!
  3. Program Size: Code=x RO-data=x RW-data=x ZI-data=x 的含义
  4. OC-Foundation框架
  5. NodeJs .net core connect Azure service bus
  6. [vue] 怎么使css样式只在当前组件中生效?
  7. 硬笔行书字帖3500常用字_硬笔行书每日一字 · 出
  8. svn往分支提代码_SVN建立分支和合并代码
  9. pytest+seleniumUI自动化框架设计
  10. 卸载计算机更新程序包,KB4343669更新包无法卸载的解决方案
  11. 解锁图案-九宫格有多少种组合?安全吗?用程序来解答
  12. Recylerview刷新图片闪烁
  13. 2022年女性精致美学白皮书
  14. c语言指针一览第一部分(新手向)
  15. 前端技术学习:语义化
  16. 用户的裂变式增长,神秘的病毒系数K是什么样的?
  17. 函数式接口和Stream流式思想
  18. 用C语言写的学生管理系统,C语言实现简单的学生成绩管理系统
  19. 从零开始做手机云台/稳定器
  20. FATE学习:配置文件解析及V1/V2版本对比

热门文章

  1. android——学生信息显示和添加
  2. 火车票 网上订票 经验
  3. python练习之字符串
  4. [小问题]Ubuntu 桌面无图标 右键不能用
  5. ajax 取cookies,Javascript ajax获取cookies
  6. 字符类别判断(C语言)
  7. [ZT]Linux小技巧收集
  8. Eviews面板数据回归过程解析——以在企业现金流量和盈利质量上的应用为例
  9. 如何把jar打包成exe
  10. 《以C语言解析电脑》书评