Как лучше вызывать nodejs-скрипт из PHP?

Имеется API на php.
Есть метод, который выполняет сложные операции, вызывая другой php-скрипт, который в N потоках делает парсинг, и переводит спарсенные данные через yandex translate api и сохраняет в БД mysql.
Но на каждый запрос пользовалей создавать еще кучу потоков слишком накладно.

Захотели переписать эту часть на Nodejs - чтобы вместо потоков вызывать N асинхронных функций, ждать их выполнения await и Отдавать Ответ в PHP для постобработки.

Либо, чтобы nodejs не только парсила, но также и переводила через yandex и сохраняла в БД Mysql - А в php отдавал лишь результат выполнения. true\false.

И еще не знаю как лучше вызывать Nodejs и php. Вот что приходит мне на ум:
1. Вызывать просто через командную строку.
$result = shell_exec("node script.js $params");
Не будет ли это нагружать сервер постоянным вызовом node? Если так на каждый запрос пользователя дергать node

2. запустить сервер HTTP, который постоянно будет висеть - и и php обращаться на http://localhost:port/?params и получать ответ.

Подскажите как лучше реализовать? Что будет потреблять меньше ресурсов?
  • Вопрос задан
  • 534 просмотра
Пригласить эксперта
Ответы на вопрос 3
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Не будет ли это нагружать сервер постоянным вызовом node?

Будет еще больше чем создание потоков.

Второй вариант получше.
Ответ написан
@davidnum95
Не проще ли между nodejs и php запилить сервер очередей? Из php отправляем задание в очередь, nodejs забирает и выполняет. По завершению результат отправляется клиенту через веб сокеты.
Ну а так второй вариант предпочтительнее.
Ответ написан
Комментировать
@synapse_people
Rabbit MQ
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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