Tag: stream

fs.createReadStream – 限制一次传输的数据量

如果我只想一次读取10个字节,或者每次读取一行数据(查找换行符),可以像这样传递fs.createReadStream()选项 var options = {} var stream = fs.createReadStream('file.txt', options); 这样我可以一次限制数据stream的数量吗? 看着FS文件,我没有看到任何可以让我这样做的选项,即使我猜测这是可能的。 https://nodejs.org/api/fs.html#fs_fs_createreadstream_path_options

在meteor中用Flow路由器分组路由

在stream量路由器中,我有一些路由 /项目/项目名称 /项目/项目名称/任务 /项目/项目名称/任务/删除任务 /项目/项目名称/任务/完成任务 /项目/项目名称/任务/标签/学校 /项目/项目名称/任务/标签/足球 /项目/项目名称/任务/标签/培训 /项目/项目名称/任务/标签/个人 […] 所以几乎所有的路线都应该分享大部分相同的特征。 是否有任何把我的路线分组的技巧,所以我现在必须检查项目是否存在于每一个单一的路线,或者如果我可以说一些路线build立在其他路线,所以我没有写长path的所有路线? 我发现stream量路由器,但它似乎不是正确的工具来完成我所需要的。

不断从subprocessstdout读取json

我想阅读和jjj消息发送到一个Javasubprocessnodejs和。 孩子的过程会活一段时间。 通过stdio发送和接收的消息表示来自两个进程的事件。 因此,消息必须在完成后立即处理。 输出将在表格中 {"type":"eventType","data":…} {"type":"anotherEventType","data":…} … {"type":"anotherEventType","data":…} 写信息是没有问题的,但阅读是。 特别是因为我不能依赖\n分裂的消息,也不能说一个块只包含一个消息。 不幸的是,我能find的每个例子都会cachingstdout的输出,直到进程终止并且只parsing它。 而我可以find的所有IPC节点模块都使用我想避免的套接字。 是否有现有的库提供这样的function,或者我必须自己的angular色?

我应该如何实现更好的Docker工作stream?

每当我在nodejs应用程序中更改文件时,我必须重新构build泊坞窗图像。 这感觉多余,并减慢我的工作stream程。 有没有适当的方式来同步nodejs应用程序文件,而不重build整个图像,或者这是一个正常的使用?

Strongloop只绑定到127.0.0.1

这个问题与此类似 – Node.js连接只能在localhost上运行 – 除了AFAIK,Strongloop中唯一可用的configuration是config.json。 我已经尝试在config.json主机值中使用“0.0.0.0”,如下所示,但netstat仍然显示它只绑定到127.0.0.1 { "host": "0.0.0.0", "restApiRoot": "/api", "host": "0.0.0.0", "port": 3000, "remoting": { "context": { "enableHttpContext": false }, … … 这是netstat的日志: tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:51733 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:3000 0.0.0.0:* LISTEN […]

child_processstream反压

我正在使用exec-stream和Node.js,通过一些其他转换stream传输stream,最终通过node-brakestream来限制数据速率。 制动stream似乎没有效果,事实上数据最终在长链末端丢失。 execStream('some-external-binary').pipe(transform1).pipe(transform2).pipe(brake(1024)) 我认为发生的事情是, child_process STDOUTstream(在exec-stream )没有暂停,因此缓冲区填满,直到数据丢失。 做child_processstream的行为是这样吗? 有什么办法让背压能够正确使用child_processstream?

readline rl.write如何工作?

我试图parsing一个文件,并用“bazbar”行代替“foobar”。 它只是返回一个空文件。 我不知道我在做什么错,文档不是特别有用。 var readline = require('readline'); var fs = require('fs'); var rl = readline.createInterface({ input: fs.createReadStream('test/in.txt'), output: fs.createWriteStream('test/out.txt', { flags: 'r+' }) }); rl.on('line', function (line) { if (line.match(/foobar/)) { rl.write(line.replace(/foo/, 'baz')); } }); 这是tmp回购,如果有人只是拉动和搞乱它: https : //github.com/corysimmons/css-body-components/tree/master/test

Node.jsstream'结束'事件不会触发

以下数据stream不会触发“结束”事件。 'data'事件被触发,我可以看到logging到控制台的每一行数据。 var AWS = require('aws-sdk'); var ogr2ogr = require('ogr2ogr'); var JSONStream = require('JSONStream'); var S3 = new AWS.S3(); var source = S3.getObject({bucket: …, key: …}).createReadStream(); var stream = ogr2ogr(source).format("GeoJSON").stream() .pipe(JSONStream.parse('features.*')); stream.on('data', function(data){ console.log(data); // Correctly outputs 70 rows of data. }) stream.on('end', function(){ console.log('end'); // This code is never executed. }) stream.on('error', function(err){ console.log(err); […]

承诺解决子stream标准输出和拒绝子stream标准错误

我想build立一个使用require('child_process').spawn产生subprocess的承诺。 这个过程把它的输出输出到stdout ,把它的错误输出到stdout stderr 。 我希望承诺: 如果child.stderr发出任何数据,则reject(child.stderr stream (or its data)) 。 resolve(child.stdout stream)只有当没有错误发射。 我这样做是因为我想把承诺链接到: then处理child.stdoutstream(将stream上传到S3存储桶)。 一个可以处理child.stderrstream的catch ,允许我正确处理错误。 把这样的承诺和stream程结合起来是否可行? 我正在考虑在stderr上工作,但是不知道如何在stdout之间发生什么,如果有大量的数据进入它,我不处理它的速度不够快。

pipe道订购事宜? 将标准input传输到http请求中,并将结果传送到标准输出

我正在看“http客户端” 我做出了通过2/3testing的以下解决scheme: request = require 'request' #Generate a read/writable stream piping into the outbuff myRequest = request.post("http://localhost:8099").pipe(process.stdout) process.stdin.pipe(myRequest) …出现以下错误: operator: equal expected: 'azzwcc\njup\nvccvwcddun\nmukp\nikeos.\nPaps\'w\nheghuuyuuv\nwu\nbzcawcsenvzm\nouggkneoasc\n' actual: 'allsee\nfor\ndeedsetton\nyour\nquick.\nTark\'s\nbimboowood\nso\npleasekindly\ncommunicake\n' 但是,当我按这个顺序输出输出时,它工作正常。 request = require 'request' #Generate a read/writable stream piping into the outbuff myRequest = request.post("http://localhost:8099") process.stdin.pipe(myRequest).pipe(process.stdout) 这两个解决scheme不应该一样吗? 我在这里错过了什么?