Freelance projects › Исправить проблему на стороне Ruby Исправить проблему на стороне Ruby
У нас на сайте есть удаление спустя 14 дней
Когда парситься, квартиры вновь возвращаются
В парсере есть такое апи - api/apartments_delete по которому мы берем комнаты или квартиры, удаляем на сайте.
Так как в API они не удаляются - то они снова появляются на сайте (этот момент проверит таш разработчик Python), если ли модели из api/apartments_delete в том апи метода для отдачи квартир на сайт
Есть еще метод DELPATH = 'api/apartments_delete/apply, по которому должно быть подтверждение удаления с парсера этих квартир, но он нигде не задействован. Все в совокупности - оно по ходу и не работает.
Надо выработать единственную правильную логику, доработать или упростить.
Итого:
- надо чтоб период удаления старше определенного периода был единым для сайта и парсера
- чтобы PATH = 'api/apartments_delete'
DELPATH = 'api/apartments_delete/apply' сайт после удаления помеченных квартир - отсылал запрос на удаление с парсера
Как вариант, на стороне парсера можно метить объявления как удаленные, но по факту удалять только сами фото, из БД записи не удалять, только метить. Фото же от этих объявлений удалять для того чтобы не отнимали много места.
А кроном удалять навсегда те что отмечены как «удаленные» из БД через 3-6 мес., например, когда они точно еще раз не спарсятся.
Возможно их надо окончательно удалять, так как они не нужны до того момента когда снова не начнут сдаваться, а если следить за логикой что доступна квартира или нет и делать ее снова доступной.
Так как у нас пока нет отзывов и истории api/apartments_delete
Надо доработать логику DELPATH = 'api/apartments_delete/apply'
Можно удалять а потом снова создавать, но если мы их удалим, то они при сборе снова добавятся, а чтобы этого не было я предлагаю сделать softdelete + удаление фото
-
232 Да, можно использовать удаление "признаком", с помощью, например, гема discard и default_scope kept, это хорошее решение. А гемом whenever полностью удалять устаревшие записи и фото через время. Я бы ещё советовал при парсинге проверять не спарсенные удалённые записи и только тогда удалять их - тогда не будет такого, что пролежавшая 3 месяца удалённая квартира снова выплывет как новая. Включая возможный рефакторинг в других местах, сделаю достаточно быстро и эффективно.
-
Ask your question to the client