Как я должен реализовать PHP exec
как вызов системной функции с HapiJS? Пользователь отправляет задание на обработку, которое должно некоторое время выполняться в фоновом режиме.
Мне как-то нужно вернуть идентификатор задания / идентификатор сеанса пользователю, выполнить задание асинхронно, позволить пользователю проверить на предмет завершения и перенаправить после завершения …
Могу поспорить, что для этого есть решения, но я бы очень хотел получить указатель в правильном направлении.
Проверьте документацию дочернего процесса узла: Вот
Чтобы сделать то, что вы описываете, я бы вызвал процесс без обратного вызова, а затем использовал бы небольшую хитрость: попытка убить процесс, который не запущен, вызывает ошибку посмотреть здесь
const exec = require('child_process').exec;
//Launch the process
const child = exec('ls');
const pid = child.pid;
//later in another scope when you are looking to see if it is running
try {
process.kill(pid, 0);
}
catch (e) {
console.log("it's finished");
}
Других решений пока нет …