Как сделать тайм-аут в python, тайм-аут менее секунды

Спецификация задачи:

Я просматриваю очень большое количество строк в файле журнала и распределяю эти строки по группам в соответствии с регулярными выражениями (RegExses ), которые я сохранил с помощью функции re.match(). К сожалению, некоторые из моих регулярных выражений слишком сложны, и Python иногда попадает в ад. Из-за этого мне нужно защитить его каким-то тайм-аутом.

Проблемы:

  • re.match, который я использую, это функция Python, и как я узнал где-то здесь, на StackOverflow(Мне очень жаль, я не могу сейчас найти ссылку:-(). Очень сложно прервать поток с запущенной библиотекой Python. По этой причине темы вне игры.
  • Поскольку вычисление функции re.matchзанимает относительно короткое время, и я хочу проанализировать с помощью этой функции большое количество строк, мне нужна функция тайм-аута, выполнение которой не займет слишком много времени(это делает потоки еще менее подходящими, для инициализации нового потока требуется очень много времени)и можно установить менее чем на одну секунду .
    По этим причинам ответы здесь-Тайм-аут при вызове функции а здесь-Функция тайм-аута, если завершение занимает слишком много времени с декоратором (будильник -1 с и более )не учитываются.

Я провел это утро в поисках решения этого вопроса, но не нашел удовлетворительного ответа.

20
задан Community 23 May 2017 в 11:54
поделиться