Всем доброго времени суток,
надеюсь на ваши ответы/советы. Делаю небольшой проект, который заключается в парсинге нескольких сайтов (на каждый сайт по скрипту), обработки данных и вывода результатов через бота в Телеграм. Все скрипты, включая бота написаны на Python 3.6. Чтобы не дергать лишний раз api сайтов, данные пишутся в PostgreSQL. Запускаю все через nohup на сервере DigitalOcean, и периодически некоторые скрипты просто перестают выполняться, а в логах пусто. Каким образом вы бы организовали работу на сервере для подобного проекта? Может нужен nginx или apache, а то посоветовали смотреть в их сторону?
Получения таска из телеги - nginx-uwsgi-(django / flask / handmade wsgi )
В зависимости от того, как долго работает парсер
- стартовать его в том же треде, что принял запрос от пользователя
- делать очередь (celery) и работать через нее
Если бывает, что падают парсеры (а они обязательно падают) - то celery однозначно.
Более сложные workflow - dask.distributed. Celery canvas очень ограничен.