主线程在可配置的持续时间后因异常而发生一般中断的超时库

signalled-timeout的Python项目详细描述


异常导致主线程一般中断的超时库 在可配置的持续时间之后。

用例

设置超时时间(秒),超时时间到期时将引发异常:

from timeout import timeout

…作为上下文管理器:

with timeout(0.5):
    ... work ...

…或修饰函数:

@timeout(0.5)
def work():
    ...

可以通过传递异常来配置异常 实例,或通过指定重写异常类和/或 值:

with timeout(0.5, RuntimeError("Work took too long")):
    ... work ...

with timeout(0.5, RuntimeError, "Work took too long"):
    ... work ...

with timeout(0.5, exc=RuntimeError):
    ... work ...

with timeout(0.5, value="Work took too long"):
    ... work ...

with timeout(0.5, value=(2, "Took too long", 'work.py')):
    ... work ...

超时异常默认为 TimeoutError("Operation timed out")

注意:timeout是通过signal实现的,因此可能不是 应用于进程的主线程之外。

安装

signalled-timeout是一个python发行版,可以安装 通过easy_installpip,例如

pip install signalled-timeout

…或者,来源:

python setup.py install

测试

要在系统上测试发行版,请执行其test命令:

python setup.py test

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Cassandra DB的javascript查询结果   java定时器任务调度   java在TLS上实现LDAP   为什么在浏览器中滚动会使java小程序闪烁?   未使用轮询器和serviceactivator提取java pubsub消息   java风暴多线程问题   java计算平均成绩   java将字符串添加到另一个类的数组列表中   文件Java路径如何转换为例如InputStream   java更改JComboBox的字体颜色   java inthttp:具有可轮询请求通道的inboundgateway   使用继承在Java中运行swing Base和扩展windows   java ivysettings。xml:添加本地maven路径   java如何将参数自定义视图传递给activity类   java延迟加载无法在Hibernate中使用一对一映射   当文件以“file:/”开头时,Java无法识别该文件   需要java正则表达式帮助,使用反斜杠   片段中的java GWT参数