Example #1
0
 /**
  * @param $data
  * @param $routingKey
  * @param array $headers
  * @param int $delivery
  * @return Observable
  */
 public function produce($data, $routingKey, $headers = [], $delivery = self::DELIVERY_DISK)
 {
     if ($delivery === self::DELIVERY_DISK) {
         $headers['delivery-mode'] = 2;
     }
     $promise = $this->channel->publish($this->serializer->serialize($data), $headers, $this->exchange, $routingKey);
     return \Rxnet\fromPromise($promise);
 }
Example #2
0
 public function reject($requeue = true)
 {
     $promise = $this->channel->reject($this->message, $requeue);
     return \Rxnet\fromPromise($promise);
 }
Example #3
0
 /**
  * Pop one element from the queue
  * @param $queue
  * @param bool $noAck
  * @return Observable
  */
 public function get($queue, $noAck = false)
 {
     $promise = $this->channel->get($queue, $noAck);
     return \Rxnet\fromPromise($promise)->map(function (Message $message) {
         return new RabbitMessage($this->channel, $message, $this->serializer);
     });
 }