Ceci est ma première application Meteor, je suis vraiment excité d'essayer d'apprendre le framework, alors je viens de construire un site web interne qui va gérer un tas de processus en ligne de commande. La plupart de ces processus de ligne de commande prennent de 10 à 20 minutes à s'exécuter. J'espérais pouvoir envoyer des commentaires à l'utilisateur pendant l'exécution, par exemple en redirigeant la sortie stdout vers l'utilisateur lors de l'exécution du processus. En ce moment je fais ceci:Flux stdout vers le site Web Meteor
var require __meteor_bootstrap__.require
var sys = require('sys')
var exec = require('child_process').exec;
Meteor.methods({
foo: function(job_id) {
var select = { _id: job_id };
var execCommand = "dir /s"; // or whatever it is I'm doing
exec(execCommand, function(error, stdout, stderr) {
Fiber (function() {
Jobs.update(select, {$set: { logs: stdout }});
}).run();
})
}
});
Cela fonctionne très bien, et lorsque le travail est terminé, je vois le journal, mais je me demandais s'il y avait une meilleure façon que je pouvais faire en sorte que les résultats sont disponibles I peut commencer à les envoyer. Tout conseil est le bienvenu.