public function __construct($app)
 {
     // set up the queue driver
     $class = $app['config']->get('queue.driver');
     $this->driver = new $class($app);
     Queue::setDriver($this->driver);
 }
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $n = $input->getArgument('n');
     $config = $this->app['config'];
     $ironDriver = new IronDriver($this->app);
     foreach ($config->get('queue.queues') as $q) {
         $output->writeln("Processing messages for '{$q}' queue:");
         $queue = new Queue($q);
         $messages = $queue->dequeue($n);
         $m = 0;
         foreach ($messages as $message) {
             $queue->receiveMessage($message);
             ++$m;
         }
         $output->writeln("- Processed {$m} message(s)");
     }
     return 0;
 }
 public function message($req, $res)
 {
     // verify auth token
     if ($req->query('auth_token') != $this->app['config']->get('ironmq.auth_token')) {
         return $res->setCode(401);
     }
     // parse the message from the request
     $ironDriver = new IronDriver($this->app);
     $message = $ironDriver->buildMessageFromRequest($req);
     // notify the queue listeners of the message
     Queue::receiveMessage($message);
 }
 public function __construct($app)
 {
     $this->setApp($app);
     Queue::listen(Mailer::QUEUE_NAME, [$this, 'processEmail']);
 }