for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace TreeHouse\IoBundle\Bridge\WorkerBundle\EventListener;
use TreeHouse\IoBundle\Bridge\WorkerBundle\Executor\ScrapeUrlExecutor;
use TreeHouse\IoBundle\Scrape\Event\RateLimitEvent;
use TreeHouse\WorkerBundle\QueueManager;
class ScrapeRateLimitListener
{
/**
* @var QueueManager
*/
protected $queueManager;
* @param QueueManager $queueManager
public function __construct(QueueManager $queueManager)
$this->queueManager = $queueManager;
}
* @param RateLimitEvent $event
public function onRateLimit(RateLimitEvent $event)
$payload = [$event->getScraper()->getId(), $event->getUrl()];
$this->queueManager->add(ScrapeUrlExecutor::NAME, $payload, $event->getRetryDate()->getTimestamp() - time());