Skip to content
  1. Компоненты
  2. amoConnector
  3. Scheduler

Scheduler

Компонент поддерживает отложенную отправку данных в amoCRM через Scheduler от modmore. Это позволяет не задерживать ответ сервера при оформлении заказа или отправке формы.

Включение

  1. Установите компонент Scheduler
  2. Включите настройку amoconnector.use_scheduler
  3. Настройте cron для запуска Scheduler:
* * * * * php /path/to/site/assets/components/scheduler/run.php

Принцип работы

При включенном Scheduler обработка заказов и форм происходит в два этапа:

  1. При событии (создание заказа, отправка формы, смена статуса) — данные помещаются в очередь Scheduler
  2. При запуске cron — Scheduler выполняет задачу, данные отправляются в amoCRM

Задачи создаются автоматически при первом обращении:

ЗадачаФайлОписание
amoconnector_new_ordertasks/sendNewOrder.phpОтправка нового заказа
amoconnector_order_statustasks/sendOrderStatus.phpСмена статуса заказа
amoconnector_form_submissiontasks/sendFormSubmission.phpОтправка данных формы

Graceful degradation

Если Scheduler включен в настройках, но не установлен — компонент автоматически переключается на синхронную отправку. В лог MODX записывается предупреждение.

Оптимизация

Компонент избегает бесполезных задач:

  • При создании заказа планируется только отправка заказа. Начальный статус не планируется отдельно
  • Смена статуса планируется только если для нового статуса существует маппинг в amoCRM и заказ связан со сделкой

Webhook

Входящие webhook от amoCRM всегда обрабатываются синхронно, независимо от настройки Scheduler. Webhook — это server-to-server запрос, не влияющий на UX пользователей сайта.