Столкнулся с проблемой большого количества открытых потоков, из-за чего программа выдает соответствующую ошибку. На хостинге программа работает около 12 часов, после чего начинает выдавать такую ошибку.
Не понимаю вообще как с этими потоками работать? Что их открывает и как за ними следить?
В программе есть конструкция with open("text.txt") as f, она может быть вызвана 5 раз в течение минуты (причем каждый раз открываются разные файлы, которых тоже 5) и так с периодичностью 10 минут. Может проблема в этом? Решит ли проблему замена конструкции на open() - close()? Решит ли проблему переход на БД? Так же есть requests на разные сайты, он тоже вызывается часто. Он тоже открывает потоки?
Если кратко:
while True:
for key, group in enumerate(List):
group.check_()
if not group.param:
if key != len(List)-1:
time.sleep(5)
continue
...
break
...
time.sleep(60 * 10)
...
Метод check_ объекта group как раз обращается к файлам и отправляет запросы requests на разные сайты и меняет состояние параметра param. Список List содержит 5 таких объектов.