python限制函数执行时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python限制函数执行时间相关的知识,希望对你有一定的参考价值。

from:https://stackoverflow.com/questions/366682/how-to-limit-execution-time-of-a-function-call-in-python
当有些函数执行时间过长,影响整个程序运行时,可以使用此方法进行限制,超时会报错。
from __future__ import with_statement # Required in 2.5
import signal
from contextlib import contextmanager

class TimeoutException(Exception): pass

@contextmanager
def time_limit(seconds):
    def signal_handler(signum, frame):
        raise TimeoutException, "Timed out!"
    signal.signal(signal.SIGALRM, signal_handler)
    signal.alarm(seconds)
    try:
        yield
    finally:
        signal.alarm(0)


try:
    with time_limit(10):
        long_function_call()
except TimeoutException, msg:
    print "Timed out!"

 


以上是关于python限制函数执行时间的主要内容,如果未能解决你的问题,请参考以下文章

Python限制函数执行时间的实用解决方案

Python限制函数执行时间的实用解决方案

如何将python烧瓶函数的执行限制为单个实例

限制函数或命令 PHP 的执行时间

如何限制javascript中函数的执行时间?

睡眠时间是不是计入执行时间限制?