В общем есть задача, создать сайт, в котором будет выводиться таблица с данными, которые парсятся с другого сайта. Но парсинг всех данных из этого сайта занимает больше 20 часов (нужно ставить timesleep, чтобы сайт не блочил парсер). Поэтому нужно реализовать каким то образом, чтобы парсер работал на фоне, а в это время свежие данные показывались на моем сайте (по мере парсинга). С серьезными проектами не работал, поэтому нет понимания как правильно это всё реализовать.
Пока вариант один: Запустить две программы, в одном будет django проект с сайтом, на втором будет сидеть парсер, который будет получать данные и записывать их в бд. А сайт будет выгружать из бд и показывать их у себя. Но это придется запускать две консоли одновременно. В принципе особой проблемы, конечно, в этом нет, но вдруг есть способ это всё реализовать в одной программе.
p.s. Просьба не предлагать советы типа: "а зачем тебе это", "используй прокси" и т.д.
Есть конкретный парсер и веб приложение, если есть какой то способ их как то соединить, то буду очень рад услышать варианты. Спасибо!
javedimka, а в чем именно проблема? Для интереса посмотрел примеры на стековерфлоу, вполне работают, например вот отсюда. Все запускается, отрабатывает параллельно.
Серьезно интересно что не так с питонячьей реализацией асинхронности.
Запустить две программы, в одном будет django проект с сайтом, на втором будет сидеть парсер, который будет получать данные и записывать их в бд. А сайт будет выгружать из бд и показывать их у себя. Но это придется запускать две консоли одновременно.
Про systemd слышал? Ну или хотя бы про service?
Или у тебя сайт работает ровно до тех пор пока у тебя ssh сессия открыта до твоего сервера?
Нужен отдельный демон, который парсит данные и складывает в БД.
А какая проблема в использовании прокси? прошу прощения
тоже самое что объясните как писать код но просьба не предлагать советы использовать руки и мозги
Делай тогда динамический парсинг. У тебя просят x/product/15 и ты сразу же проси y/product.php?id=15. Один хер упрешься в лимит