0

ローカル マシンで正常に動作するプラグインstubbydbを作成しました。しかし、ジェンキンスを使用してリモートサーバーで実行しているときに、次のエラーが発生します。

2016-03-16T10:58:10.745Z - error: uncaughtException: write EPIPE date=Wed Mar 16 2016 10:58:10 GMT+0000 (GMT), pid=23729, uid=501, gid=500, cwd=/home/deployment, execPath=/usr/local/node/node-v5.2.0/bin/node, version=v5.2.0, argv=[/usr/local/node/node-v5.2.0/bin/node, /usr/local/node/node-default/bin/stubbydb, -d, /tmp/soa-simulator, -p, 7777, -s, /tmp/soa-simulator/], rss=22597632, heapTotal=12671264, heapUsed=8094384, loadavg=[1.7158203125, 0.68505859375, 0.27392578125], uptime=5615485, trace=[column=11, file=util.js, function=Object.exports._errnoException, line=856, method=exports._errnoException, native=false, column=20, file=util.js, function=exports._exceptionWithHostPort, line=879, method=_exceptionWithHostPort, native=false, column=14, file=net.js, function=WriteWrap.afterWrite, line=764, method=afterWrite, native=false], stack=[Error: write EPIPE,     at Object.exports._errnoException (util.js:856:11),     at exports._exceptionWithHostPort (util.js:879:20),     at WriteWrap.afterWrite (net.js:764:14)]

2016-03-16T10:58:36.696Z - error: uncaughtException: This socket is closed. date=Wed Mar 16 2016 10:58:36 GMT+0000 (GMT), pid=23729, uid=501, gid=500, cwd=/home/deployment, execPath=/usr/local/node/node-v5.2.0/bin/node, version=v5.2.0, argv=[/usr/local/node/node-v5.2.0/bin/node, /usr/local/node/node-default/bin/stubbydb, -d, /tmp/soa-simulator, -p, 7777, -s, /tmp/soa-simulator/], rss=25243648, heapTotal=12671264, heapUsed=8775480, loadavg=[1.443359375, 0.7080078125, 0.291015625], uptime=5615511, trace=[column=19, file=net.js, function=Socket._writeGeneric, line=641, method=_writeGeneric, native=false, column=8, file=net.js, function=Socket._write, line=695, method=_write, native=false, column=12, file=_stream_writable.js, function=doWrite, line=293, method=null, native=false, column=5, file=_stream_writable.js, function=writeOrBuffer, line=279, method=null, native=false, column=11, file=_stream_writable.js, function=Socket.Writable.write, line=208, method=Writable.write, native=false, column=40, file=net.js, function=Socket.write, line=619, method=write, native=false, column=16, file=console.js, function=Console.log, line=37, method=log, native=false, column=12, file=/usr/local/node/node-v5.2.0/lib/node_modules/stubby-db/js/stubbyDB.js, function=, line=29, method=null, native=false, column=13, file=events.js, function=emitNone, line=68, method=null, native=false, column=7, file=events.js, function=IncomingMessage.emit, line=167, method=emit, native=false], stack=[Error: This socket is closed.,     at Socket._writeGeneric (net.js:641:19),     at Socket._write (net.js:695:8),     at doWrite (_stream_writable.js:293:12),     at writeOrBuffer (_stream_writable.js:279:5),     at Socket.Writable.write (_stream_writable.js:208:11),     at Socket.write (net.js:619:40),     at Console.log (console.js:37:16),     at IncomingMessage.<anonymous> (/usr/local/node/node-v5.2.0/lib/node_modules/stubby-db/js/stubbyDB.js:29:12),     at emitNone (events.js:68:13),     at IncomingMessage.emit (events.js:167:7)]

したがって、jenkins ジョブが stubbydb 応答を実行するまでは。しかし、ジェンキンスの仕事が完了するとすぐに。動作を停止しました。console.log()そして、ステートメントでエラーを出します。

サーバーにログインしconsole.log("something")てノードコンソールで行う場合。エラーはありません。さらに、ジェンキンスの代わりにログイン後に直接stubbydbを実行すると。それは正常に動作します。

その理由は何ですか?コンソールへの書き込みは避けるべきですか?

4

2 に答える 2

0

アプリケーションに問題は見つかりませんでした。問題は自動的に解決されます。jenkinsジョブまたはサーバーのセットアップにあるようです。ただし、デフォルトの console.log をすべて削除し、オンデマンドでログを作成しました。したがって、誰かが同じ問題に直面している場合は、ログをオフにしてください。

于 2016-05-16T10:30:23.923 に答える
0

これをやってみて...

FunctionThrowingException().on("error", function(){
       //Handle exception here
});

例外をスローしている関数について。この問題は一度発生しましたが、Node.js の別のアプリケーションで発生しました。例外の処理は仕事をするべきです。

PS完全なコードを提供していないため、これは正確な解決策ではありません。したがって、このアイデアを取り入れて、コードを調べてください。助けるべきです。

于 2016-03-16T14:05:08.303 に答える