Skip to content

Instantly share code, notes, and snippets.

@ivan-khuda
Created January 3, 2024 22:24
Show Gist options
  • Save ivan-khuda/8774aff12bbff65b683747224ef485a9 to your computer and use it in GitHub Desktop.
Save ivan-khuda/8774aff12bbff65b683747224ef485a9 to your computer and use it in GitHub Desktop.
Стек проекту
Історія трохи з розряду пост-фактум, але не зовсім.
Сталось це ще в далекому 2018, на той момент я працював на фірмі яка спеціалізувалась в своїй більшості на Wordpress, і ще на PHP (Laravel, Yii).
В мене на той момент було більше досвіду саме з Wordpress.
До нас через Upwork прийшов проект (аналог Prom.ua),
потрібно було написати плагін який дав би змогу скачувати продукти з афіліейт системи і відповідно генерувати шорткоди
(такі штуки для вставлення в контент які дають змогу виконати певний код який привязаний до цього коду).
Попередньо для проекту було зроблено оцінку на 1,5 - 2 місяці. Спочатку замовник хотів витягувати тільки продукти певного типу (всяку електротехніку),
загалом мало бути 20 тис продуктів. Точно не памятаю чи ми вклались в естімейт тому що клієнт почав постійно міняти ТЗ.
Потім він захотів написати кравлери для всіх продутів які би переходили по посиланнюі витягували додаткову інформацію, тому що даних з афіліейт системи було дуже мало,
а для системи було критично важливо мати побільше даних щоб порівнювати продукти і ціни на різних сайтах.
Проблеми почались коли клієнт захотів витянути всі продукти з цієї системи, спойлер на кінець проекту там було (700 тис продуктів).
Сайт почав дуже сильно зависати, SQL не стягував через реалізацію структури бази даних самого WP, для вирішення цієї проблеми було вибрано Apace Solr 3.6.
Потім зявилась проблема з тим що кравлери постійно працювали щоб витягувати додаткові дані з інших сайтів (а цей проецес був важким бо запити на інші сайти займали багато часу).
Відповідно через це і Solr працював постійно, тому що він через інший плагін був підписаний на оновлення продукту.
На цей момент клієнт вирішив переписати проект на Laravel.
Висновок:
Ніколи не пишіть великі проекти на Wordpress.
І нам ще на початку треба було закладати ризики що клієнт захоче витягнути всі продукти.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment