@OVK2015

Как подружить backend wordpress и node pm2?

Доброго времени суток, коллеги!
Есть wordpress, есть нодовский pm2. Работают на одном хосте. Хотелось бы при клике в админке wordpress перезапускать определенную задачу в pm2.

Пробовал след. вариант:
1. Отправлял ajax запрос на php`ую часть wp.
2. php, получив этот запрос, пробовал выполнить и так:
shell_exec('node /home/cron/tempTask.js'); // в tempTask.js через require('pm2') сделан перезапуск процесса.
и так:
shell_exec('pm2 start TempTask');
Максимум чего удалось добиться,- получить в ответ стандартный вывод pm2:

Community Edition
Production Process Manager for Node.js applications
with a built-in Load Balancer.
Start and Daemonize any application:
$ pm2 start app.js
Load Balance 4 instances of api.js:
$ pm2 start api.js -i 4
Monitor in production:
$ pm2 monitor
Make pm2 auto-boot at server restart:
$ pm2 startup
To go further checkout:
pm2.io

Задача в pm2 не перезапуксается.
Есть идеи в какую сторону копать? Может кто-то уже сталкивался.
  • Вопрос задан
  • 160 просмотров
Решения вопроса 1
bingo347
@bingo347 Куратор тега Node.js
Crazy on performance...
Скорее всего проблема в том, что pm2 держит для каждого системного пользователя свой список задач, а у Вас вероятно php работает из под отличного юзера от того, под которым запущены нужные pm2 задачи.
В качестве решения "в лоб" я бы предложил накатать небольшой сервис на ноде, который будет запущен из под нужного юзера тем же pm2 и будет слушать юникс сокет (ток права выдать не забудьте) или порт, а с php просто дергать его запросами
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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