Итак, у меня есть эта библиотека, которую я использую, и в рамках одной из моих функций я вызываю функцию из этой библиотеки, что происходит очень долго. Теперь, в то же время, у меня есть другой поток, в котором я проверяю разные условия, я хочу, чтобы, если условие выполнено, я хочу отменить выполнение библиотечной функции.Как остановить выполнение функции Python извне?
Сейчас я проверяю условия в начале функции, но если условия меняются во время работы библиотечной функции, мне не нужны ее результаты и я хочу вернуться из нее.
В основном это то, что у меня есть сейчас.
def my_function():
if condition_checker.condition_met():
return
library.long_running_function()
Есть ли способ, чтобы выполнить проверку условия каждый второй или так и возврата из my_function, когда условие выполняется?
Я думал о декораторах, сопрограммах, я использую 2.7, но если это можно сделать только в 3.x, я бы подумал о переключении, просто я не могу понять, как это сделать.
Единственное, что я могу придумать, - это периодически проверять, соблюдается ли условие в долгосрочной перспективе. Если это какой-то цикл, который будет легко прорваться, но я уверен, что есть лучшее решение. – Donkyhotay