您的位置:首页 > 编程语言 > Python开发

使用python设置超时

2015-01-23 15:50 351 查看
Python code
@TraceFunc
def WorkInTime(Func, Timeout = 0, *args):
'''
If function cann't finished in time then timeout
'''

def handler(signum, frame):
raise AssertionError

try:
signal.signal(signal.SIGALRM, handler)
signal.alarm(Timeout)
ret = Func(*args)
signal.alarm(0)
return ret
except AssertionError:
logger.error("%s conn't finished in %d seconds, timeout!" % (Func.__name__, Timeout))
return -1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: