Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Вопрос по C++

Агент 38 38 Знаток (261), на голосовании 2 месяца назад
У меня есть телеграмм бот на питон, и подобие базы данных реализованное через json файлы.
Мне нужно в while true проверять файлы 1 раз в день. Но т.к в питоне 1 поток, а отключать gil я не хочу то пришел к выводу, что нужно писать прогу на другом языке (выбор как вы поняли пал на C++). Но проблема в том, что я не могу нормально подключить все нужные библиотеки в проекте, и мне нужно писать прогу отдельно от проекта. Скажите если я укажу путь к папке, (например в конфиге) и потом закину сам exe файл в папку с ботом, будет ли сканироваться файлы в нужной папке?
Голосование за лучший ответ
sharikfi Ученик (182) 3 месяца назад
пиши бота на js
Агент 38 38Знаток (261) 3 месяца назад
Полностью переписывать его на js я не буду, к тому же там только ts, и как я на нем буду писать если я и js знаю очень плохо
sharikfi Ученик (182) Агент 38 38, js, ts что угодно, на плюсах не лучший вариант
resurce Гуру (4210) 3 месяца назад
Да, такой подход должен работать. Если вы укажете путь к папке в конфигурационном файле и поместите исполняемый файл (.exe) в папку с вашим ботом, программа на C++ сможет сканировать файлы в указанной папке.
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (264043) 3 месяца назад
Проверка файлов 1 разв сутки вряд ли является интенсивной задачей. Но тем не менее для обхода глобальной блокировки можно выделить три способа с ходу, чтобы не переписывать бота заново:
1) использование мультипроцессинга. У каждого процесса будет свой GIL. Понадобится небольшой рефакторинг модуля чтения.
2) нарисовать утилиту на плюсах и положить её вместе с инишкой, где указаны пути, в папку с ботом или вообще куда угодно, задать расписание.
3) можно прикрутить плагин на Cython для чтения json-файлов в многопоточном режиме
Похожие вопросы