Comments (2)
Hi,
as far as I know it's not possible to directly publish/send to a queue. The underlying API rabtap uses (https://github.com/streadway/amqp) does also not provide such an interface. The official RabbitMQ documentation states:
The core idea in the messaging model in RabbitMQ is that the producer never sends any messages directly to a queue. Actually, quite often the producer doesn't even know if a message will be delivered to any queue at all.
(https://www.rabbitmq.com/tutorials/tutorial-three-python.html)
However since every queue is automatically bound to the so called default
exchange (has the name ""), you can create a queue and publish your message to the default
exchange with the queue's name as the routing key.
Example:
First terminal:
$ rabtap queue create MYQUEUE
$ rabtap sub MYQUEUE
Second terminal:
$ echo "HELLO" | rabtap pub "" --routingkey MYQUEUE
After the last command, you should see the HELLO
message being printed in the first terminal.
To sum it up: Feature can not be implemented, but can be substituted by the pub
command shown above.
from rabtap.
Thanks for your feedback and valuable advice! Silly of me not to check whether this was even supported by the broker in the first place.
The use case I had was a queue which is bound to multiple exchanges, so I can sub
from the queue but can't pub
the messages back to the queue. Of course, an exchange can also be bound to multiple exchanges, so I can simply create a single exchange in between and publish directly back to it. Works like a charm.
from rabtap.
Related Issues (20)
- AUR package HOT 2
- Non-beautified JSON output HOT 5
- Is it possible to tap queue on default exchange? HOT 8
- Feature request: Allow replay from `--saveto` directory HOT 3
- Publish a Docker image? HOT 7
- Enhancement: To allow run 'rabtap tap' as a background process (with a switch parameter). So that other commands in the same script can continue without going in the taps 'listening' mode. HOT 2
- rabtap info: runtime: goroutine stack exceeds 1000000000-byte limit HOT 5
- rabtap info fails HOT 10
- Any interest in extending rabtap to be able to use S3? HOT 2
- Feature Request: Limit number of messages consumed HOT 5
- Using wrong exchange name doesn't result in any error/warning message when publishing message HOT 8
- Feature Request: Terminate after all messages are consumed from queue HOT 6
- Feature Request: Terminate when all messages from file(s) where published HOT 4
- Feature Request: Add "json" as valid output for "info" command HOT 2
- go get: installing executables with 'go get' in module mode is deprecated. HOT 1
- How to specify authentication mechanism HOT 8
- How to escape space in binding key? HOT 3
- go 1.16+ is required to build from sources HOT 1
- How to escape special characters in password HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rabtap.