예제 #1
0
 public function handle(Message $message, QueueInterface $queue)
 {
     /** @var SerializedCallback $callback */
     $callback = $message->getData();
     call_user_func_array($callback->callback, $callback->params);
     return new Result(true);
 }
예제 #2
0
 /**
  * @param Message $message
  * @return Result
  */
 public function handle(Message $message, QueueInterface $queue)
 {
     /** @var ReservationRequest $reservation */
     $reservation = $message->getData();
     if (rand(1, 100) >= 75) {
         // If a result is not successful the message will stay on the queue.
         $result = new Result(false, 'Oh dear, the reservation could not be created. It will be retried... soon!');
     } else {
         $msg = sprintf("Reservation created from %s to %s", $reservation->getFrom()->format('Y-m-d H:i:d'), $reservation->getTo()->format('Y-m-d H:i:d'));
         // If a result is successful, the message is acked (acknowledged to be processed, removed from queue)
         $result = new Result(true, $msg);
     }
     return $result;
 }