/** * Publish message to queue. * * @param mixed $message (array or string) * @param Queue $queue * * @return bool|null */ public function send($message, Queue $queue = null) { if ($queue === null) { $queue = $this->_queue; } if (is_array($message)) { $message = \Zend\Json\Encoder::encode($message); } $this->exchangeName = 'router'; /* name: $exchange type: direct passive: false durable: true // the exchange will survive server restarts auto_delete: false //the exchange won't be deleted once the channel is closed. */ $this->channel->exchange_declare($this->exchangeName, 'direct', false, true, false); $this->channel->queue_bind($queue->getName(), $this->exchangeName); $amqpMessage = new AMQPMessage($message, ['content_type' => 'text/plain', 'delivery_mode' => 2]); $this->channel->basic_publish($amqpMessage, $this->exchangeName); }
/** * @param $message (json) */ public function send($message) { $message = new AMQPMessage($message, ['delivery_mode' => 2]); $this->connection->basic_publish($message, '', 'email_queue'); }