Conditions | 4 |
Total Lines | 10 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | from functools import wraps |
||
8 | def timeout(seconds=5): |
||
9 | def decorator(func): |
||
10 | def wrapper(*args, **kwargs): |
||
11 | process = Process(None, func, None, args, kwargs) |
||
12 | process.start() |
||
13 | process.join(seconds) |
||
14 | if process.is_alive(): |
||
15 | process.terminate() |
||
16 | return wraps(func)(wrapper) |
||
17 | return decorator |
||
18 |