Почему программа открывает файл? - Слишком много открытых файлов
Ранее, Pyrogram версия 1.2.11 была вызвана этим error.
OSError: [Errno 24] Too many open files
Эта проблема вызвала следующую ошибку:
database is locked
Я также обновился до версии
1.4.8, но эта ошибка все еще возникает.
Мой робот не для рекламы. Изучает серию постов на нескольких каналах.
Я делю все сообщения между ботами, и если есть, например, 400 сообщений, каждый робот проверяет 10 сообщений. Я делаю это с помощью потоков.
__clients = clients.copy()
for list_of_posts in sliced:
if not __clients:
log.info(f"clients are not enough but post available. \n {list_of_posts}")
break
i = threading.Thread(target = manage_post, args = (list_of_posts, __clients.pop()))
threads.append(i)
# start threads
for thread in threads: thread.start()
# wait for complete threads
for thread in threads: thread.join()
Я проверил процесс, количество открытых файлов варьируется от 200 до 500 и 1000, сейчас их 837.
$PID has 837 Open Files.
Я вообще не открываю файл
База данных и хранение данных: Redis, Postgresql
Модули: Pyrogram 1.4.8, TgCrypto 1.2.2, Django 3.1.6