将标准数据流发送到Meteor网站
这是我的第一个Meteor应用程序,我真的很高兴尝试学习该框架,所以我刚刚建立了一个内部网站,将管理一系列命令行过程。许多这样的命令行进程需要10-20分钟才能执行,所以我希望在执行过程中能够向用户提供反馈,比如在进程执行时将标准输出反馈给用户。现在我正在这样做:将标准数据流发送到Meteor网站,meteor,Meteor,这是我的第一个Meteor应用程序,我真的很高兴尝试学习该框架,所以我刚刚建立了一个内部网站,将管理一系列命令行过程。许多这样的命令行进程需要10-20分钟才能执行,所以我希望在执行过程中能够向用户提供反馈,比如在进程执行时将标准输出反馈给用户。现在我正在这样做: var require __meteor_bootstrap__.require var sys = require('sys') var exec = require('child_process').exec; Meteor.m
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();
})
}
});
这很好,当作业完成时,我会看到日志,但我想知道是否有更好的方法可以这样做,以便在结果可用时开始发送它们。欢迎任何建议 我将使用MongoDB
$push
操作符逐行追加输出,而不是每次都重置“日志”的内容。我想这会为你节省一些带宽
但除此之外,
exec
不会定期调用您的函数。看看这个问题的解决方法。我会使用MongoDB$push
操作符逐行追加输出,而不是每次都重置“日志”的内容。我想这会为你节省一些带宽
但除此之外,exec
不会定期调用您的函数。看看这个问题的解决方法