Timeout decorator with defaults and exceptions.
Usage of this decorator is really simple - to set the timeout, just add
@timeout(time)
decorator to your function definition:
@timeout(3) # 3 seconds def myfunc(..): ..
If the myfunc()
call timeouts, TimeoutException
is raised.
Optionally, you can also set your own message for exception:
@timeout(3, exception_message="Oh noez") def myfunc(..): ..
or use default value, instead of exception:
@timeout(3, False): def myfunc(..): ..
Thats all.
Module is hosted at PYPI, and can be easily installed using PIP:
sudo pip install timeout_wrapper