nodeJSでzeroMQを使用していました。しかし、プロデューサーからワーカーにデータを送信しているときに、setIntervalに入れないと、データがワーカーに送信されないようです。私のコード例は次のとおりです。
producer.js
===========
var zmq = require('zmq')
, sock = zmq.socket('push');
sock.bindSync('tcp://127.0.0.1:3000');
console.log('Producer bound to port 3000');
//sock.send("hello");
var i = 0;
//1. var timer = setInterval(function() {
var str = "hello";
console.log('sending work', str, i++);
sock.send(str);
//2. clearTimeout(timer);
//3. }, 150);
sock.on('message', function(msg) {
console.log("Got A message, [%s], [%s]", msg);
});
したがって、上記のコードで、1、2、および 3 でコメントされた行を追加し直すと、ワーカー側にメッセージが表示されますが、それ以外の場合は機能しません。
setIntervalに入れる必要があるメッセージを送信する理由を誰かが光を投げることができますか? それとも私は何か間違った方法をしていますか?