Мы с важной новостью: с 28 февраля 2025 года сервис Хабр Фриланс прекратит свою работу.

Купить услуги можно до 28 февраля 2025, но пополнить баланс уже нельзя. Если на вашем счете остались средства, вы можете потратить их на небольшие услуги — служба поддержки готова поделиться бонусами, на случай, если средств немного не хватает.
R50 b19a03ee0c6e1b8454cc8d82ad8acb5c
Architect/Full-stack developer

Сервис обновления товаров

Добавлено 09 мар 2018 в 20:12
Код сервиса выложен на тут.
Текстовые паттерны вида <некоторый текст> перекрывают конфиденциальную информацию.

Поставленная задача:
Реализовать получение некоторых данных посредством REST API, и при их помощи обновлять цены и остаток товаров на сайте.

Анализ:
Движок сайта не позволяет обновлять товар с внешних ресурсов без установки дополнительных плагинов. Дополнительные плагины не подошли с технической точки зрения.
Имеется вариант разработки необходимого плагина с нуля.
Также имеется ssh root доступ к самому серверу, на котором хостится сайт.
На сервере ОС Debian. Установленные пакеты позволяют написать скрипт на Python 2|3.
Ruby - нет, NodeJS - нет.
Есть возможность написания сервиса на Go с последующей компиляцией.
Заказчик имеет опыт разработки на PHP, даже имеется собственная реализация данного сервиса, но с ограниченным функционалом.
Количество обрабатываемых записей не превышает 25 000.
Достаточно обновления цен раз в сутки.
Панель администратора хостинга содержит функционал создания cron-задач.

Решение:
Реализовать скрипт/сервис на Python 3. Код данным языке самый читаемый. Заказчик будет иметь возможность доработать его сам. Именно поэтому параметры работы скрипта не передаются ему при вызове из cron-задачи, а располагаются прямо в нем в виде переменных настроек в начале файла, что максимально похоже на стилистику PHP. В противном случае код парсинга аргументов вызова скрипта только увеличил бы код скрипта, а значит увеличил бы порог вхождения.
Времени затрачено: 12 часов.
Bba506907a