Как установить ограничение по времени на выполнение exec python?

У меня в коде python есть выполнение exec('какой-то код') и мне надо добавить ограничение по времени на выполнение кода в exec() например на 1 секунду. Т.е. если код внутри не успел выполниться, то программа продолжает работать, но уже сам код внутри exec() не выполняет.


Ответы (1 шт):

Автор решения: mrvol
import signal

def signal_handler(signum, frame):
    raise Exception("Timed out!")

signal.signal(signal.SIGALRM, signal_handler)
signal.alarm(10)   # Ten seconds
try:
    long_function_call()
except Exception, msg:
    print("Timed out!")
→ Ссылка