def timeout(seconds):
""" """
def handler(*args, **kwargs):
logger.debug("TimeoutError in timeout context manager handler.")
raise TimeoutError("Timeout after {} seconds".format(seconds))
signal.signal(signal.SIGPROF, handler)
signal.setitimer(signal.ITIMER_PROF, seconds)
try:
yield
finally:
signal.setitimer(signal.ITIMER_PROF, 0)
评论列表
文章目录