Edited at

pythonでタイムアウトを簡単に実装したい

More than 3 years have passed since last update.

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 :(