По умолчанию в модуле автоэкспорт товаров в ВКонтакте работает с помощью агентов, в частности \VKApi\Market\Agent::exportData();
. Агент по очереди проходит по каждой выгрузке, формирут список товаров для экспорта и выгружает. Последовательность действий такая же, как при ручном экспорте. После окончания экспорта начинается экспорт следующей активной выгрузки и так по кругу.
Большое количество агентов в битриксе может влиять на скорость выгрузки товаров. Также сама выгрузка может задерживать выполнение других агентов. В этом случае рациональнее будет перевести автоэкспорт на cron (фоновые задачи)
Ежеминутный запуск cron задания обязателен, так как экспорт многошаговый и обработка за 1 шаг может привести к ошибке перерасхода памяти, с этим ничего не поделать.
Запуск экспорта раз в сутки возможен при ежеминутном запуске, для этого в настройках модуля нужно указать время запуска автоэкспорта. После окончания всех шагов, экспорт производиться не будет пока не наступит время старта из настроек.
Информация по заказам приходит на сайт через уведомления со стороны вк, для этого cron не используется.
Для этого нужно сделать следующие действия:
Переходим на страницу агентов Администрирование / Настройки / Настройки продукта / Агенты
, используя фильтр находим нужный агент и деактивируем его
Путь до файла можно найти на странице настроек модуля Администрирование / VK / Магазин ВКонтакте / Настройки модуля
Если добавлять через личный кабинет хостера или панель управления хостингом, нужно найти соответствующий раздел, называются они по разному, например cron задания, фоновые задачи, фоновые процессы и тп. В любом случае нужно будет указать путь до файла и периодичность запуска.
Выполнение должно быть ежеминутным.
Если это делать через терминал, то задание можно добавить выполнив в терминале команду - crontab -e
, от пользователя bitrix
и добавив задание
* * * * * /usr/bin/php -f /var/www/html/bitrix/modules/vkapi.market/tools/cron.php
Также при стандартной установке правил через crontab -e
запуск может не выполняться на сервера с окружением от битрикса. Часто задания по крону записываются в файлах из директории /etc/cron.d/
.
В таком случае можно добавить запись так
* * * * * bitrix test -f /home/bitrix/www/bitrix/modules/vkapi.market/tools/cron.php && /usr/bin/php -f /home/bitrix/www/bitrix/modules/vkapi.market/tools/cron.php >
/home/bitrix/www/vkapi.market.log 2>&1
Если не нужно записывать ошибки в импровизированный лог в виде файла /home/bitrix/www/vkapi.market.log
, можно туда добавить запись такую
* * * * * bitrix test -f /home/bitrix/www/bitrix/modules/vkapi.market/tools/cron.php && /usr/bin/php -f /home/bitrix/www/bitrix/modules/vkapi.market/tools/cron.php >
/dev/null 2>&1