Павел Гвоздь

Павел Гвоздь

С нами с 31 мая 2015; Место в рейтинге пользователей: #2

Ускоряем массовое обновление ресурсов в 3 раза

Массовая выгрузка ресурсов, не такая уж простая задача, как может показаться на первый взгляд. Много подводных камней, касающихся улучшения производительности скрипта. Особенно неприятно, когда тормозит скорость работы из-за функционала ядра MODX.


Так, например, я столкнулся с куском кода в ядре, который увеличивает время выгрузки большого кол-ва товаров в ~3 раза, выполняя одно и то же ресурсоёмкое действие каждый раз, когда скрипт запускает обновление ресурса через процессор modResourceUpdateProcessor.

Сразу оговорю тот момент, что я не считаю этот кусок кода в ядре лишним или вредным, нет! Я полагаю, что этот код при обновлении большого кол-ва ресурсов можно выполнить самостоятельно по окончании работы скрипта выгрузки.

Я говорю вот об этой строчке кода. Давайте попробуем разобраться, что же с ней не так!
Павел Гвоздь
11 сентября 2018, 14:29
modx.pro
28
2 384
+19

Накидайте интересных тем для статей

Ребята, привет!
У меня есть желание написать несколько полезных статей для вас. Давайте вместе поучаствуем в этом! Вы напишите темы, которые вас интересуют, а я выберу самые интересные из них и напишу статьи/инструкции/кейсы.


Важно:
— чтобы тематика касалась MODX, хоть каким-то боком,
— не начального, а хотя бы, среднего уровня, чтобы писать было не скучно,
— сразу излагайте вопрос/тему подробнее, чтобы мне не пришлось тратить время на уточняющие детали.

Жду отклика в комментариях!
Павел Гвоздь
10 сентября 2018, 11:04
modx.pro
3
2 061
+9

msOptionsPrice2 и склады


Долго ломал голову, как связать msOptionsPrice2 и наличие товара на складах. В модификациях товара у меня хранятся размеры и кол-во. Искал решение или компонент, который бы позволил сделать что-то подобное. Как оказалось, искал не там… В итоге сделал всё на базе msOptionsPrice2 и костыля, как это часто бывает.
Павел Гвоздь
04 сентября 2018, 14:55
modx.pro
10
2 324
+15

[msPromoCode] Кейс. Именные промокоды для пользователя


На днях меня спросили, как в msPromoCode можно применить купон только для группы Users. Набросав на коленке плагин и поделившись им с пользователем, я начал размышлять, как бы это упаковать в кейсик. Размышления навели меня на именные купоны. Думаю, пригодится многим.
Павел Гвоздь
01 июля 2018, 07:58
modx.pro
3
4 024
+6

[xParser] 1.6.3 События плагинов для кастомной логики и код ответа сервера


Пакет приобрёл 3 события плагинов и научился запоминать код ответа сервера при обращении к УРЛ.
Это круто по ряду причин:
  • Можно внедрить свою логику в процесс парсинга,
  • Можно совершать кастомные действия на сайте, в зависимости от получаемых данных при парсинге,
  • К примеру, если сервер отдал 301/302 редирект или 404 ошибку при обращении к УРЛу подзадания, то мы можем отключить этот ресурс с публикации вовсе.
  • Всё ограничивается вашей степенью извращённости фантазией!
Павел Гвоздь
25 июня 2018, 18:31
modx.pro
1
1 699
+3

[msBitrixCatalog] Выгрузка каталога miniShop2 в Bitrix24


Порой необходимо выгружать каталог товаров с сайта в Bitrix24, при этом полностью сохраняя структуру каталога. А также, всегда держать актуальные цены на товары в Б24. Компонент делает только это, но делает это чертовски хорошо!

Особенности:

— Можно выгружать каталог с сайта вручную, есть специальное окошко,
— Если в Б24 есть структура каталога, как на вашем сайте, то компонент подхватит её и свяжет с каталогом на сайте. В последствии, товары/разделы уже будут знать, куда выгружаться (у них будет личный ID на Б24)
— Обход ограничения «QUERY_LIMIT_EXCEEDED» в Б24,
— Выгружать можно 3 способами: вручную через веб-интерфейс, по крон скрипту, при сохранении товара/раздела каталога.
Павел Гвоздь
17 апреля 2018, 15:34
modx.pro
1
3 401
+10

[xParser] 1.6.0 Асинхронная работа и полноценный xPath


С версии 1.6.0 компонент:
  1. Поддерживает асинхронную выгрузку изображений, благодаря библиотеке ReactPHP. Разница в скорости парсинга до 3.5 раз.
  2. Имеет полноценную поддержку xPath, благодаря библиотеке DomCrawler. Раньше использовалась QueryPath, у которой косячный xPath, было много жалоб.
P.S. Обновление протестировано, насколько это возможно. Тем не менее, если возникнут проблемы после обновления — пишите!
Павел Гвоздь
31 марта 2018, 21:46
modx.pro
1
2 421
+7

Скидки скидки скидки на пакеты Гвоздя!!!


Друзья, спешу обрадовать хорошей новостью! На все мои дополнения с 23 февраля по 8 марта (включительно) действует скидка 20%! И на новый YandexMaps2 тоже!

Список пакетов со скидкой:

Павел Гвоздь
22 февраля 2018, 19:49
modx.pro
1 718
+9

[Image+] 2.7.0 Поддержка phpThumbOn

Замечал часто на сайтах заказчиков, что многие используют компонент Image+ от Jako. К сожалению, данный компонент, до определенного момента, не поддерживал phpThumbOn. Огромное упущение с моей стороны, которое уже исправлено!
Павел Гвоздь
22 ноября 2017, 06:26
modx.pro
6
2 506
+12

[YandexMaps2] Собственный конструктор карт, работа с mFilter2


Новая версия полностью переработана несколько раз, написан конструктор карт с нуля, продумана работа с mFilter2.

Преимущества перед подобными компонентами

  • Новая версия API карт, которая поддерживается командой Яндекса
  • Работа с mFilter2 из коробки при небольшой настройке компонента в 3 шага
  • Конструктор карты в бекенде отображается в ресурсах, товарах, тикетах, пользователях
  • Принцип работы похож на UserFiles, что позволяет внедрить конструктор карт в любое место админки, с небольшими знаниями ExtJS. Так, к примеру, я прицепил UserFiles к своему кастомному объекту, без правки исходника.
Павел Гвоздь
21 ноября 2017, 19:02
modx.pro
6
4 761
+13