见https://zhuanlan.zhihu.com/p/39743129
如下代码原创,可测试:
import time
from func_timeout import func_set_timeout,FunctionTimedOut
def time_out(fn,*args,**kwargs):
def wrapper(*args,**kwargs):
try:
result = fn(*args,**kwargs)
return result
except FunctionTimedOut:
print 'timeout'
return None
return wrapper
@time_out
@func_set_timeout(2)
def a():
time.sleep(3)
return 'b'
if __name__ == '__main__':
c = a()
print c