https://github.com/jonathanstowe/raku-rmq-examples
Raku versions of the Rabbit MQ tutorial examples
https://github.com/jonathanstowe/raku-rmq-examples
amqp0-9-1 messaging rabbitmq raku
Last synced: 2 months ago
JSON representation
Raku versions of the Rabbit MQ tutorial examples
- Host: GitHub
- URL: https://github.com/jonathanstowe/raku-rmq-examples
- Owner: jonathanstowe
- Created: 2016-01-20T18:16:20.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2021-02-22T08:22:15.000Z (over 4 years ago)
- Last Synced: 2023-04-22T17:07:00.231Z (about 2 years ago)
- Topics: amqp0-9-1, messaging, rabbitmq, raku
- Language: Raku
- Homepage:
- Size: 16.6 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Raku RabbitMQ Tutorial Examples
These are Raku versions of the [Rabbit MQ Tutorial](http://www.rabbitmq.com/getstarted.html) examples.
They cover the basic patterns for creating messaging applications with Raku and Rabbit MQ.You will need to have [Rabbit MQ installed](http://www.rabbitmq.com/download.html) as well as Raku and
the client library [Net::AMQP](https://github.com/retupmoca/P6-Net-AMQP).Assuming you have a working Rakudo installation you can install Net::AMQP directly with:
zef install Net::AMQP
You will need at least version v0.1.15 for these examples to work properly.
In all of the examples it is assumed that the RabbitMQ server is running on the local machine with the default
configuration, if this not the case then you can pass the differing items to the ```Net::AMQP``` constructor:```
my $n = Net::AMQP.new(host => 'localhost' port => 5672, login => 'guest', password => 'guest', vhost => '/');
```
(The above shows the defaults but you should supply the appropriate values for your configuration.)
## ["Hello, World"](tutorial-001)
This is the simplest example that does something, a client that sends a simple
message to the broker and a single single subscriber that prints what it receives.
## [Work Queues](tutorial-002)
An example demonstrating how tasks can be distributed among a pool of workers.

## [Publish/Subscribe](tutorial-003)
Demonstration of how a single message can be published to multiple consumers at once.

## [Routing](tutorial-004)
Selectively receiving message based on a publisher supplied key.

## [Topics](tutorial-005)
Selectively receiving messages based on pattern matching.

## [RPC](tutorial-006)
Remote procedure calls implemented on a message queue.
