Pythonでタイムアウトが実装されていないライブラリでタイムアウトを使いたい時とかに使えそうなライブラリ
timeout-decorator
https://github.com/pnpnpn/timeout-decorator
サンプル
test_timeout.py
import time
import timeout_decorator
def very_long_function():
for i in range(100):
print i
time.sleep(1)
@timeout_decorator.timeout(5)
def test():
very_long_function()
if __name__ == '__main__':
try:
test()
except:
print "test timed out :("
else:
print "test finished successfully :)"
実行結果
$ python test_timeoput.py
0
1
2
3
4
test timed out :(