Python-如何检测Python的超长时间函数调用并在指定秒数超时后自动抛Exception?

Python-如何检测Python的超长时间函数调用并在指定秒数超时后自动抛Exception?

归属感 发布于 2017-10-29 字数 511 浏览 1254 回复 1

如何检测Python的超长时间函数调用并在指定秒数超时后自动抛Exception?
需要检测的代码形式比如下面的A和B函数:
def A():
while True: print "dead looping"

def _inner():
print "do some thing"
def B():
for i in xrange(10000000000000): _inner()

PS:可能我描述的不够清楚。我是指让模块/函数编写者不添加任何额外代码的情况下,通过修改Python的某些机制(甚至python core C实现)来使得超时函数自动报警(报异常),以提供当时的call stack信息 — AKara 1分钟之前

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜柠檬 2017-11-05 1 楼

循环1秒钟

import time
try:
time.clock()
while True:
#after 1 second
if time.clock() > 1:
raise Exception("dead looping")
print "looping"
except Exception ,e :
print e