работать в режиме демона(желательно вечно)
- Он основан на рекурсии (while True:) и используется для алготрейдинга
Столкнулся с проблемой - спустя примерно 8 часов работы, скрипт крашится с ошибкой
Fatal Python error: Cannot recover from stack overflow.
Python runtime state: initialized
Погуглив нашел ответ что питон не может работать в while True: бесконечно.. Возможно есть какие то хаки для того что бы он все таки смог? Или единственный вариант - переписать на другой язык?
давно вайл тру стал рекурсией?
Бесконечный цикл, суть не особо меняется :(
Если подразумевается, что рекурсия в бесконечном цикле, то понятно, почему умирает демон - заканчивается стек для рекурсивного вызова
> Погуглив нашел ответ что питон не может работать в while True: ШТА?
https://stackoverflow.com/questions/58718875/fatal-python-error-cannot-recover-from-stack-overflow-in-python Возможно я как то не так понял ответ
ты не пробовал не использовать рекурсию?
> which calls itself, probably in an infinite loop. Ты вот очень неправильно понял.
Как мне тогда организовать рассчеты каждые N секунд?
в цикле внезапно
В нем и есть же :)
рекурсия в цикле - путь к крэшу. Погугли, как реализуется рекурсивный вызов и осознай, что бесконечный цикл рекурсивных вызовов обречен на провал вообще на любой машине в любой среде исполнения
Прочитай что такое хвостовая рекурсия и почему она может работать миллион лет не падая
если есть ее оптимизация в рантайме
Ее можно самому написать если сильно хочется
Обсуждают сегодня