Skip to content

Instantly share code, notes, and snippets.

@FCO
Last active May 27, 2023 20:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save FCO/a366eb93c0085909d2a2f30cb50558c2 to your computer and use it in GitHub Desktop.
Save FCO/a366eb93c0085909d2a2f30cb50558c2 to your computer and use it in GitHub Desktop.
➜ Nats git:(main) nats pub --count=10 bla.ble.bli "test pub {{ Count }}"
19:58:50 Published 10 bytes to "bla.ble.bli"
19:58:50 Published 10 bytes to "bla.ble.bli"
19:58:50 Published 10 bytes to "bla.ble.bli"
19:58:50 Published 10 bytes to "bla.ble.bli"
19:58:50 Published 10 bytes to "bla.ble.bli"
19:58:50 Published 10 bytes to "bla.ble.bli"
19:58:50 Published 10 bytes to "bla.ble.bli"
19:58:50 Published 10 bytes to "bla.ble.bli"
19:58:50 Published 10 bytes to "bla.ble.bli"
19:58:50 Published 11 bytes to "bla.ble.bli"
➜ Nats git:(main) nats request --count=10 bla.ble.bli "request test {{ Count }}"
19:59:18 Sending request on "bla.ble.bli"
19:59:18 Received with rtt 12.872369ms
{
"payload": "request test 1",
"ble": "ble",
"status": "ok"
}
19:59:18 Sending request on "bla.ble.bli"
19:59:18 Received with rtt 3.888649ms
{
"status": "ok",
"payload": "request test 2",
"ble": "ble"
}
19:59:18 Sending request on "bla.ble.bli"
19:59:18 Received with rtt 4.289971ms
{
"status": "ok",
"payload": "request test 3",
"ble": "ble"
}
19:59:18 Sending request on "bla.ble.bli"
19:59:18 Received with rtt 9.040511ms
{
"status": "ok",
"ble": "ble",
"payload": "request test 4"
}
19:59:18 Sending request on "bla.ble.bli"
19:59:18 Received with rtt 4.446386ms
{
"payload": "request test 5",
"ble": "ble",
"status": "ok"
}
19:59:18 Sending request on "bla.ble.bli"
19:59:18 Received with rtt 6.103773ms
{
"payload": "request test 6",
"status": "ok",
"ble": "ble"
}
19:59:18 Sending request on "bla.ble.bli"
19:59:18 Received with rtt 5.639907ms
{
"ble": "ble",
"status": "ok",
"payload": "request test 7"
}
19:59:18 Sending request on "bla.ble.bli"
19:59:18 Received with rtt 4.590884ms
{
"payload": "request test 8",
"ble": "ble",
"status": "ok"
}
19:59:18 Sending request on "bla.ble.bli"
19:59:18 Received with rtt 4.495091ms
{
"status": "ok",
"ble": "ble",
"payload": "request test 9"
}
19:59:18 Sending request on "bla.ble.bli"
19:59:18 Received with rtt 4.636947ms
{
"ble": "ble",
"payload": "request test 10",
"status": "ok"
}
➜ Nats git:(main)
use Nats::Server;
use Nats::Route;
my $application = route {
subscribe -> "bla", $ble, "bli" {
say "ble: $ble";
say "payload: ", message.payload;
message.?reply-json: { :status<ok>, :$ble, :payload(message.payload) };
}
}
my $server = Nats::Server.new: :$application;
$server.start;
react whenever signal(SIGINT) { $server.stop; exit }
➜ Nats git:(main) examples/cro-like.raku
ble: ble
payload: test pub 1
ble: ble
payload: test pub 2
ble: ble
payload: test pub 3
ble: ble
payload: test pub 4
ble: ble
payload: test pub 5
ble: ble
payload: test pub 6
ble: ble
payload: test pub 7
ble: ble
payload: test pub 10
ble: ble
payload: request test 1
ble: ble
payload: request test 2
ble: ble
payload: request test 3
ble: ble
payload: request test 4
ble: ble
payload: request test 5
ble: ble
payload: request test 6
ble: ble
payload: request test 7
ble: ble
payload: request test 8
ble: ble
payload: request test 9
ble: ble
payload: request test 10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment