相关疑难解决方法(0)

函数调用超时

我正在调用Python中的一个函数,我知道它可能会停止并迫使我重新启动脚本.

如何调用该函数或我将其包装成什么,以便如果它花费的时间超过5秒,脚本会取消它并执行其他操作?

python multithreading timeout python-multithreading

259
推荐指数
14
解决办法
27万
查看次数

如何在python中超时函数,超时不到一秒

问题规格:

我正在搜索日志文件的大量行,并且我将这些行分发到组以便使用该re.match()函数存储的正则表达式(RegExses).不幸的是,我的一些RegExses太复杂了,Python有时会让自己回归地狱.因此,我需要通过某种超时来保护它.

问题:

  • re.match我正在使用,是Python的功能,正如我在StackOverflow上找到的那样(我真的很抱歉,我现在找不到链接:-().用运行Python的库来中断线程非常困难.这个原因线程已经脱离游戏.
  • 因为re.match函数的评估花费的时间相对较短,而且我想用这个函数分析大量的行,我需要一些不需要太长时间才能执行的超时函数(这使得线程更不合适,需要很长时间才能初始化新线程)并且可以设置为小于一秒.
    由于这些原因,这里的答案 - 函数调用超时 和此处 - 超时功能,如果花费太长时间完成装饰器(警报 - 1秒和更长时间)不在桌面上.

我今天早上都在寻找这个问题的解决方案,但我没有找到任何满意的答案.

python regex timeout function

20
推荐指数
1
解决办法
7033
查看次数