Задать вопрос
toorr2p
@toorr2p
https://github.com/Cleverscript

Что лучше использовать для фоновых заданий в Bitrix24 — Push and Pull или RabbitMQ?

Приветствую, подскажите такой вопрос:
Требуется на событии добавления Сделки, запускать бизнес процесс, который должен добавить в очередь сообщение (команду для выполнения в фоне и отдельном процессе),
суть этих команд - обращение к внешним API и получением от них данных, которые затем вносятся в поля Сделки.
Также этот бизнес процесс могут запустить руками с вкладки "Бизнес процессы", например для актуализации данных.
Вопрос что лучше использовать базовый Push and Pull (тут нужно будет создать какой то скрип-демон который будет "слушать" определенный канал на предмет появления в нем сообщений-задач) или лучше использовать RabbitMQ?
  • Вопрос задан
  • 239 просмотров
Подписаться 2 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
gromdron
@gromdron Куратор тега Битрикс24
Работаю с Bitrix24
На этот вопрос неполучиться дать достоверный ответ, так как он зависит от большого числа переменных которые мы не знаем.
Что за скрипт? Как быстро отвечает API? В каком окружении (apache, php-fpm) это развернуто?.

Общий подход "на коленке" говорит - ни то и ни другое.
Вы можете использовать штатные бизнес-процессы, просто первым действием должно быть "Пауза" хотя бы на 1 секунду, таким образом это прекратит выполнение бизнес-процесса в моменте и отправит его выполнение в агента, который в свою очередь выполнится либо на кроне либо ни хите после выполнения основного действия.
Еще можно создавать backgroundJob, который запустит бизнес-процесс, вместо запуска напрямую, но здесь уже начинаются нюансы с обработкой ошибок.
Ответ написан
Комментировать
cyber-jet
@cyber-jet
Не могу понять в чем проблема. Если у вас есть процесс, который реагирует на что-то, почему он не запускается? Хотя должен просто через cron как минимум на агенте запуститься, если сервер и процесс настроены правильно. Push and Pull здесь вообще не причём, и уж тем более RabbitMQ, это инструменты схожие, но выполняют другие задаче, нежели описанные вами.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы