RabbitMQ を使用してメッセージの配列を送信するにはどうすればよいですか? すべてのメッセージを個別に送信したくありません。
例えば:
ch.publish(ex, '', new Buffer('hello world'));
どうすれば次のようなものを使用できますか:
ch.publish(ex, '', new Buffer([msg1, msg2, msg3...]));
ありがとうございました!
RabbitMQ を使用してメッセージの配列を送信するにはどうすればよいですか? すべてのメッセージを個別に送信したくありません。
例えば:
ch.publish(ex, '', new Buffer('hello world'));
どうすれば次のようなものを使用できますか:
ch.publish(ex, '', new Buffer([msg1, msg2, msg3...]));
ありがとうございました!
次のように JSON を渡すことができます。
var json = JSON.stringify(arr);
ch.publish(ex, '', new Buffer(json));
次に、コンシューマーは JSON を解析します。
RabbitMQ を使用してメッセージの配列を送信するにはどうすればよいですか? すべてのメッセージを個別に送信したくありません。
できません。各メッセージは個別に送信する必要があります。
やりたいことをしようとすると、送信したい個々のメッセージがすべて含まれた単一の「メッセージ」になってしまいます。
これを実行できるように見える API を作成したい場合は、メッセージの配列を受け取り、それらをループして一度に 1 つずつ送信する関数を作成するだけです。
(nodejs/amqplib)
function publishAll(ex, ...messages){
return messages.map((msg) => {
ch.publish(ex, '', msg);
});
}
var pub = publishAll("my.exchange", [msg1, msg2, msg3]);
pub.then(() => {
// run code after they are all published
});
@derick-baileyが言ったことに加えて、各メッセージで複数の変数を送信する必要がある場合は、常に変数をカンマで区切った文字列を作成できます。または、テキストでコンマを使用する場合は、他の記号を使用できます。