2017-06-08 1 views
0

Comment dois-je implémenter un appel de type PHP exec à une fonction système avec HapiJS? L'utilisateur soumet un travail de traitement qui doit être exécuté en arrière-plan pendant un certain temps.HapiJS démarre un processus d'arrière-plan plus long

je dois revenir en quelque sorte un identifiant id emploi/session à l'utilisateur, exécutez la tâche de façon asynchrone, permet à l'utilisateur de vérifier en arrière pour l'achèvement et réacheminer une fois rempli ...

Je parie qu'il ya des solutions existantes pour cela, pourtant je serais très heureux d'avoir un pointeur dans la bonne direction.

Répondre

1

Découvrez la documentation de processus fils de noeud: here

Pour faire ce que vous décrivez, je lancer un processus sans rappel, puis utiliser une petite astuce: essayer de tuer un processus qui ne provoque exécute une erreur see here

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"); 
} 
+0

Cool, je vais essayer ça. –