/**
  * 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');
 }