У меня есть несколько экземпляров класса, которые вызывают функции друг друга. У меня также есть система, которая определяет, слишком ли долго эти функции вызывают друг друга (чтобы избежать переполнения стека). Однако, когда он обнаруживает это, он ничего не может сделать, чтобы остановить их, поэтому они просто продолжают работать, пока не достигнут предела рекурсии. Вот более простой пример:
class test:
def activateOther(self, other):
sleep(2)
print('Activated Other Function', id(self))
other.activateOther(self)
t = test()
t_ = test()
t.activateOther(t_)
del t, t_ # Even after deleting the variables/references, they continue running
Есть ли способ фактически остановить бесконечную работу этих функций и достичь предела рекурсии? Если нет, я полагаю, я попытаюсь добавить переменную к каждому классу, указывающую, следует ли им продолжать работу или нет.