Tag: 父子

同时完成儿童程序和承诺决议

tl; dr:我写的一个函数创build了几个subprocess,当他们在消息中提交他们的数据时,这个subprocess解决了这个承诺。 虽然函数将所有这些承诺包装在一个Promise中。所有的函数都会突然返回,并且promise也不会解决也不会拒绝,即使所有的过程都完成了没有错误。 任何想法为什么发生这种情况? 为了加速数据收集过程,我有一个父进程获取一些input数据(在SQL数据库中查询的date是准确的),并将它发送给大小相等的一些subprocess,等待subprocess完成处理他们的数据通过包装他们的结果在一个大的承诺。 虽然这适用于较小的数据集,但对于较大的数据集,父承诺只会返回到命令行 – 既不解决也不拒绝,甚至不能继续执行function。 看了几个日志之后,似乎所有的subprocess都正确地处理并发送了他们的数据,但是父进程并没有收到less数几个进程的结果。 错过的消息发生在数据处理结束的附近(当几个subprocess在大约同一时间完成并发送消息时) 缩写代码: // main function function createArray(i,j) // returns an array of i empty arrays, each of length j function chunkify(a, n, balanced) // divides array a into n chunks (balancing them in size if true) returning an array of chunks function kidcollector(snaptimes,course) { var done […]

我怎样才能通过节点产卵的所有当前的环境variables?

我在Node中产生子任务的方式如下: function createChildProc(prog, params0, cmdAndEnv) { var spawn = require('child_process').spawn; return spawn(prog, params0, cmdAndEnv); } 其中cmdAndEnv手动包含在初始启动节点期间创build的环境variables。 有没有办法让节点自动将当前的环境variables注入到孩子的环境中?而不是手动发布所有的环境variables到产生的孩子中。

如何获得EXPRESSJS / MYSQL中的父母子女关系?

我有这样的桌子: 没有 字母 没有表格包含(1,2,3,4) 字母表中包含(苹果,球,猫,狗) 这是我的js文件: var connection = require('../connection'); function Todo() { this.get = function(res) { connection.acquire(function(err, con) { con.query('select * from no', function(err, result) { for(var key in result) { var no = result[key].number; console.log(no); con.query('select * from alphabets', function(err, result2) { for(var key in result2) { var alph = result2[key].alphabets; console.log(no+"."+alph); } […]

node.js中的子/辅助线程

我有一个需求,我必须运行一个独立于主节点线程的进程。 基本上,目的是从主节点线程数据启动辅助进程,而不是等待callback或任何结果,因为辅助进程不必向主线程返回任何东西。 我想实现这一点,而不会阻塞主节点线程,主线程不应该在将数据传递到辅助线程后发生什么。 基本上,就二级进程而言,主线程的进程在将数据发送到辅助线程之后结束。 任何build议如何我可以实现这一目标? 我读了关于subprocess,webworkers,dnode和进程nexttick,但我不知道什么是实现它的最好方法。 我尝试了nexttick,但是我的经验是它仍然是主线程的一部分,虽然是asynchronous的。

无法从subprocess的标准输出中获取任何内容

我试图做一个非常简单的nodejs服务器,接收post请求,并将它们提供给一个简单的C程序,通过stdin和stdout使其所有的I / O。 我正在尝试使用以下脚本作为testing: var prc = require('child_process').spawn('./example'); // )none of these made it work) prc.stdout.setEncoding('ascii'); //prc.stdout.setEncoding('utf8'); prc.stdout.on('data', function (data) { console.log("child said something: " + data); }); prc.stderr.on('data', function (data) { console.log("stderr: " + data.toString()); }); prc.on('close', function (code) { console.log('process exit code ' + code); }); setInterval(function() { console.log("gonna write"); prc.stdin.write("prueba inicial\n"); console.log("wrote"); […]

NodeJS – 如何让亲生小孩与父母沟通?

我正在尝试这个: var child = spawn('node', args, {cwd: parentDir, stdio: 'ipc'} ); (args是一个参数数组) 但它给出了以下错误: TypeError:stdio选项的错误值:ipc 这实际上工作,所以这个问题似乎确实是stdio ipc参数: var child = spawn('node', args, {cwd: parentDir} ); 这也适用: var child = spawn('node', args, {cwd: parentDir, stdio: 'pipe'} ); 我读了这个: http : //nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options,但我不明白我要去哪里错了。 这是我第一次尝试使用这个NodeJSfunction,所以我很抱歉,如果问题是明显的。 也许还有其他方法可以解决这个问题。 孩子必须产卵,而不是分叉,我只是希望能够从孩子发送消息给父母。 谢谢!! 编辑:我有节点v0.8.18。 我search了IPC http://nodejs.org/changelog.html的版本历史logging,search词“IPC”没有任何内容,这让我觉得我需要一个更新版本的NodeJS。

分叉一个subprocess并注入依赖

我目前有一个模块是阻塞的操作,所以我正在考虑把它变成一个subprocess,而不是叉。 如果我想这样做,那么我当然需要修改我的模块的架构。 该模块要求dependency injection通过调用模块作为一个函数,传入依赖关系,如下所示: var dependency = { name: "Bob" } require('worker')(dependency) 然后在我的worker模块中: module.exports = function (dependency) { // Outputs { name: "Bob" } console.log(dependency) } 我怎样才能把这个例子变成一个分叉的subprocess呢?