问题规范:
我正在搜索日志文件的大量行,并将这些行分配给组,以便使用该re.match()
函数存储的正则表达式(RegExses)。不幸的是,我的一些正则表达式太复杂了,Python 有时会让自己陷入回溯地狱。因此,我需要通过某种超时来保护它。
问题:
re.match
,我正在使用,是 Python 的函数,正如我在 StackOverflow 上的某个地方发现的那样(我真的很抱歉,我现在找不到链接 :-( )。运行 Python 的库时很难中断线程。对于这个原因线程不在游戏中。- 因为
re.match
函数的评估需要相对较短的时间,并且我想用这个函数分析大量的行,所以我需要一些不会花费太长时间执行的超时函数(这使得线程更不适合,初始化需要很长时间新线程)并且可以设置为小于一秒。
出于这些原因,此处的答案 - 函数调用超时 和此处 -如果装饰器完成时间过长(警报 - 1 秒或更多),则超时函数不在讨论范围内。
我今天早上一直在寻找这个问题的解决方案,但我没有找到任何令人满意的答案。