Здравствуйте!
Решил собрать демо проект для портфолио из всего, что знаю.
Скажу сразу, по кускам я и раньше такое собирал и оно работает. Сейчас просто хочу сделать это максимально православно. Суть такая:
1. Парсер запускается по таймеру cron раз в сутки и собирает данные с определенного сайта, скажем ag.ru
2. Собирает в постгрес, в две таблицы с созданием связующей (хочу показать понимание связи М-М)
3. В качестве морды лица джанга + инфинити скролл на js (js не знаю, просто есть у меня готовый шаблонный код) + js-скрипт, который при прокрутке вниз увозит верхнюю менюшку наверх, но при первом же пикселе скрола обратно вверх тут же показывает менюшку (где то видел, понравилось, кто знает, подскажите, как этот трюк на джиесе гуглить)
4. По скроллу вниз (там троттлинг немножко продумать, это понятно) делается запрос в базу посредством DRF, назад DRF возвращает джейсон с 10 позициями из базы.
5. Само собой логгер loguru все ходы записывает
6. Да, в парсере tqdm показывает процесс в консоли
—
Прошу меня понять, возможно что то тут лишнее, но я специально это добавил, потому что в этом демо проекте хочу показать работодателю весь размах крыльев. А так же прошу не предлагать сменить допустим крон на таск селери, если это не критично.
—
А теперь внимание вопросы:
1. В глубине души я чувствую, что очень некрасивая ситуация получается как минимум в моменте чтения/записи в базу, когда парсер добавляет данные в базу, а с другой стороны пользователь(ли) решил полистать мой инфинити скролл. Как это решается на взрослых проектах?
2. Нормально ли вообще писать внешний парсер с запросами на чистом sql, когда у меня под рукой всё равно уже есть джанга и можно сделать парсер командой. Если да, тогда я тем более не понимаю, как будет запускаться команда джанги (парсер) по крону, если уже основное приложение джанги запущено. Или запускать приложение и попутно команду это нормальная практика?
3. Ну и в целом сойдёт ли такая демка для портфолио?