mirror of
https://github.com/mailscope/kumomta.git
synced 2026-10-28 09:16:15 +00:00
51 lines
2.7 KiB
Markdown
51 lines
2.7 KiB
Markdown
# `kumo.amqp.basic_publish {PARAMS}`
|
|
|
|
{{since('2024.09.02-c5476b89')}}
|
|
|
|
Publishes a message using the [amqprs](https://docs.rs/amqprs/) AMQP client.
|
|
This function differs from [kumo.amqp.build_client](build_client.md) in that it
|
|
encapsulates the entire publish operation in a single function that manages a
|
|
connection pool of client(s) and performs the publish without manually dealing
|
|
with the client connection lifetime.
|
|
|
|
*PARAMS* is an object style table with the following possible fields:
|
|
|
|
* `routing_key` - required string; the name of the queue to which to send the message
|
|
* `payload` - required string; the message to send
|
|
* `exchange` - optional string; the exchange through which to send the message. If unspecified,
|
|
the empty string is used, which corresponds to a default exchange.
|
|
* `connection` - the connection information, which is in turn an object with the following fields:
|
|
* `host` - required string; the hostname or IP address of the AMQP server
|
|
* `port` - optional integer; the port number of the AMQP service.
|
|
* `username` - optional string
|
|
* `password` - optional string
|
|
* `vhost` - optional string
|
|
* `connection_name` - optional string
|
|
* `heartbeat` - optional integer
|
|
* `enable_tls` - optional boolean
|
|
* `root_ca_cert` - optional string; the path to a CA certificate file.
|
|
* `client_cert` - optional string; the path to a client certificate file.
|
|
* `client_private_key` - optional string; the path to the private key associated with the client certificate.
|
|
* `pool_size` - optional integer; specifies the maximum number of AMQP connections to pool. The default is the number of CPUs * 4.
|
|
* `connect_timeout` - optional duration string; the timeout to use around the connect operation.
|
|
* `recycle_timeout` - optional duration string; the timeout to use around the recycle operation, which is where the liveness of
|
|
an existing connection is tested prior to reuse.
|
|
* `wait_timeout` - optional duration string; the timeout to use while waiting for a fully saturated pool to have an available AMQP client.
|
|
* `publish_timeout` - optional duration string; the timeout to use around the `basic_publish` operation.
|
|
* `app_id` - optional string
|
|
* `cluster_id` - optional string
|
|
* `content_encoding` - optional string
|
|
* `content_type` - optional string
|
|
* `correlation_id` - optional string
|
|
* `delivery_mode` - optional integer
|
|
* `expiration` - optional string
|
|
* `headers` - optional field table
|
|
* `message_id` - optional string
|
|
* `message_type` - optional string
|
|
* `priority` - optional integer
|
|
* `reply_to` - optional string
|
|
* `timestamp` - optional timestamp
|
|
* `user_id` - optional string
|
|
* `mandatory` - optional boolean
|
|
* `immediate` - optional boolean
|