【发布时间】:2014-03-16 16:16:05
【问题描述】:
我正在尝试为特定功能实现超时。我检查了 SE 中的许多问题,但找不到适合我的问题的任何解决方案,因为:
- 我在 Windows 中运行 python
- 超时应用于我无法控制的 python 函数,即它是在已经设计的模块中定义的。
- python 函数不是子进程
我已经为特定任务开发了一个已经设计好的自定义模块(比如MyModule),并且其中定义了一些功能。由于外部因素,其中一个函数(比如MyFunc)倾向于永远运行,我只是不希望python脚本挂起。
我打算添加一个超时功能,如下伪代码所述:
import MyModule
set_timeout(T)
MyResult=MyModule.MyFunc()
#Come to this part of script after execution of MyFunc() or after T seconds (the latter on priority)
if Timeout occurred:
print 'MyFunc did not execute completely'
else:
print 'MyFunc completed'
但我不确定在 python 上可以使用哪个模块来实现这一点。请注意,我是新手,我写的所有脚本都是直接基于 SE Answers 或 Python Documentation。
【问题讨论】:
标签: python windows python-2.7 timeout