/**
  * Set up dependencies
  */
 public function setUp()
 {
     parent::setUp();
     $configurationManager = $this->objectManager->get('TYPO3\\Flow\\Configuration\\ConfigurationManager');
     $settings = $configurationManager->getConfiguration(ConfigurationManager::CONFIGURATION_TYPE_SETTINGS, 'TYPO3.Jobqueue.Beanstalkd');
     if (!isset($settings['testing']['enabled']) || $settings['testing']['enabled'] !== TRUE) {
         $this->markTestSkipped('beanstalkd is not configured (TYPO3.Jobqueue.Beanstalkd.testing.enabled != TRUE)');
     }
     $queueName = 'Test-queue';
     $this->queue = new BeanstalkdQueue($queueName, $settings['testing']);
     $clientOptions = $settings['testing']['client'];
     $host = isset($clientOptions['host']) ? $clientOptions['host'] : '127.0.0.1';
     $port = isset($clientOptions['port']) ? $clientOptions['port'] : '11300';
     $this->client = new Pheanstalk($host, $port);
     // flush queue:
     try {
         while (true) {
             $job = $this->client->peekDelayed($queueName);
             $this->client->delete($job);
         }
     } catch (\Exception $e) {
     }
     try {
         while (true) {
             $job = $this->client->peekBuried($queueName);
             $this->client->delete($job);
         }
     } catch (\Exception $e) {
     }
     try {
         while (true) {
             $job = $this->client->peekReady($queueName);
             $this->client->delete($job);
         }
     } catch (\Exception $e) {
     }
 }
 /**
  * @inheritdoc
  */
 public function purge($queue)
 {
     $stat = $this->beanstalk->statsTube($queue);
     $this->beanstalk->watch($queue);
     for ($i = 0; $i < $stat->current_jobs_ready; $i++) {
         $job = $this->beanstalk->peekReady();
         $this->beanstalk->delete($job);
     }
     for ($i = 0; $i < $stat->current_jobs_delayed; $i++) {
         $job = $this->beanstalk->peekDelayed();
         $this->beanstalk->delete($job);
     }
     for ($i = 0; $i < $stat->current_jobs_buried; $i++) {
         $job = $this->beanstalk->peekBuried();
         $this->beanstalk->delete($job);
     }
 }
 /**
  * @inheritdoc
  */
 public function flush()
 {
     try {
         while (true) {
             $job = $this->client->peekDelayed($this->name);
             $this->client->delete($job);
         }
     } catch (\Exception $e) {
     }
     try {
         while (true) {
             $job = $this->client->peekBuried($this->name);
             $this->client->delete($job);
         }
     } catch (\Exception $e) {
     }
     try {
         while (true) {
             $job = $this->client->peekReady($this->name);
             $this->client->delete($job);
         }
     } catch (\Exception $e) {
     }
 }