to send custom headers, you need send it as associative array under attribute 'headers'
AMQPExchange::publish
(PECL amqp >= Unknown)
AMQPExchange::publish — Publish a message to an exchange.
Description
public bool AMQPExchange::publish
( string $message
, string $routing_key
[, int $params = 0
[, array $attributes
]] )
Publish a message to the exchange represented by the AMQPExchange object.
Parameters
- message
-
The message to publish.
- routing_key
-
The routing key to which to publish.
- params
-
One or more of AMQP_MANDATORY and AMQP_MANDATORY.
-
Supported indexes key Description Default value Content-type text/plain Content-encoding NULL message_id NULL user_id NULL app_id NULL delivery_mode NULL priority NULL timestamp NULL expiration NULL type NULL reply_to NULL
Return Values
Returns TRUE on success or FALSE on failure.
Errors/Exceptions
Throws an AMQPExchangeException on failure.
Andy (Larest) ¶
5 months ago
glenjamin at gmail dot com ¶
1 year ago
Any unused attributes will be assigned as custom headers attached to the outgoing message's headers collection.
This isn't exactly clear from the documentation above, but I've checked the C source, and that's how you set custom headers.
prudkiy at mail dot ru ¶
1 year ago
Please note, here no way to be sure if message really published
The use of flags AMQP_MANDATORY and AMQP_IMMEDIATE not force to return any errors (in case if queue not exists etc) and "publish" returns TRUE anyway
