A CLI for diffent kinds of message queues.
Find a file
finga 12b117db7e Refactor logging
To supporte more than a single log level `log` and `env_logger` crates
are used. For the application to support the different type of
argument, the verbose argument definition was adapted.
2021-07-07 17:13:08 +02:00
.gitea/issue_template Issue templates for gitea 2021-06-20 18:16:19 +02:00
src Refactor logging 2021-07-07 17:13:08 +02:00
.gitignore Initial commit 2021-06-14 03:05:23 +02:00
Cargo.lock Refactor logging 2021-07-07 17:13:08 +02:00
Cargo.toml Refactor logging 2021-07-07 17:13:08 +02:00
mqrs.1 Refactor logging 2021-07-07 17:13:08 +02:00
README.md Improve help text 2021-06-27 03:02:41 +02:00

mqrs

mqrs is a small cli application to handle POSIX message queues.

Installation

To build mqrs a rust toolchain is necessary.

Install Rust

Install the Rust toolchain from rustup.rs.

Build mqrs

mqrs can be built for development:

cargo b

or for releasing:

cargo b --release

Build the mqrs Debian package

cargo deb

Install mqrs

When a Rust toolchain installed you can also install mqrs directly without cloning it manually:

cargo install --git https://git.onders.org/finga/mqrs.git mqrs

or from within the project:

cargo install mqrs

Run mqrs

mqrs can either be run from the project directory with:

cargo b

or you can copy the produced binary somewhere else or link to them from target/{debug,release}/mqrs depending on which one you built.

Using mqrs

mqrs supports five commands: create, info, unlink, send and recv. All commands do not have to be specified fully. If the command is clearly distinguishable from all the others, it does not have to be completed further.

Create a message queue

Use the create command to create a new POSIX message queue. Following optional arguments are supported:

  • -c, --capacity: Maximum number of messages in the queue
  • -p, --permissions: Permissions (octal) to create the queue with
  • -s, --msgsize: Message size in bytes

Print information about a message queue

Use the info command to print further information about a message queue.

Delete a message queue

Use the unlink command to delete a message queue.

Send a message to a queue

Use the send command to send a message to a message queue. Following optional arguments are supported:

  • -n, --non-blocking: Do not block
  • -d, --deadline <deadline>: Deadline until messages are sent (format: %Y-%m-%d %H:%M:%S)
  • -p, --priority <priority>: Set a different priority than default, priority >= 0 [default: 0]
  • -o, --timeout <timeout>: As for example in "5h 23min 42ms"

Receive a message from a queue

Use the recv command to receive one or more messages from a message queue. Following optional arguments are supported:

  • -f, --follow: Print messages as they are received
  • -n, --non-blocking: Do not block
  • -t, --timestamp: Print a timestamp before each message
  • -d, --deadline <deadline>: Deadline until messages are received (format: %Y-%m-%d %H:%M:%S)
  • -o, --timeout <timeout>: As for example in "5h 23min 42ms"