Skip to content

Interactive tool for watching messages on RabbitMQ.

License

Notifications You must be signed in to change notification settings

mboeh/rmqdriver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rmqdriver

Interactive tools for working with RabbitMQ. Under development, partly as a learning project.

rmqtail

Usage

Batch usage, with the jq JSON filter and pretty-printer:

% cat > batch.rmqtail
add foo
bind foo amq.topic foo.bar
bind foo amq.topic bar.baz
tail foo json
^D
% rmqtail -b batch.rmqtail | jq .message
{
  "message": "foo"
}
{
  "message": "bar"
}
^C
%

Inline batch usage:

% rmqtail -e "tap foo amq.topic foo.* json"

Interactive usage (soon moving to rmqsh):

% rmqtail
> add foo
added
> bind foo amq.topic foo.bar
bound
> bind foo amq.topic foo.bar.baz
bound
> unbind foo amq.topic foo.bar
unbound
> list
Queue "foo"
> drain foo default
[messages print to stdout]
drained

Commands

  • add: Create a named, temporary (exclusive) queue that will be destroyed when the connection is ended.
  • bind QUEUE EXCHANGE ROUTINGKEY: Bind the queue to the named exchange with the given routing key.
  • unbind QUEUE EXCHANGE ROUTINGKEY: Unbind the queue.
  • list: List created queues.
  • drain QUEUE SINK: Consume all messages currently on QUEUE into SINK. text and json sinks are available.
  • tail QUEUE SINK: Start consuming messages on QUEUE into SINK. Stops with Ctrl-C.
  • tap QUEUE EXCHANGE ROUTINGKEY SINK: add, bind, and tail combined.

Todo

  • rename
  • rmqcat for publishing
  • message formatting
  • better interface (batch, command line)
  • batch mode -- load a script or scripts on start, or only run a script
  • purge
  • better output for list

About

Interactive tool for watching messages on RabbitMQ.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published