Example #1
0
 /**
  * @param string $status
  * @param array $meta
  * @throws BufferedJobNotFoundException
  */
 private function markJobAsFinished($status, array $meta)
 {
     if (!$this->database->has('queued_jobs', $meta['buffered_job_id'])) {
         throw new BufferedJobNotFoundException("", $meta['buffered_job_id'], $meta);
     }
     $row = $this->database->delete('queued_jobs', $meta['buffered_job_id']);
     $this->database->insert("{$status}_jobs", $meta['buffered_job_id'], $row);
 }
Example #2
0
 /**
  * @param int $count
  */
 private function assertJobsAreQueued($count)
 {
     $uniqid = uniqid();
     for ($i = 1; $i <= $count; $i++) {
         $row = ['buffered_job_id' => "{$uniqid}-{$i}-id", 'queue_name' => 'default-worker', 'job_name' => "{$uniqid}-{$i}-name", 'job_params' => ["{$uniqid}-{$i}-params"], 'run_after' => date('c'), 'job_rank' => $i, 'mutex_id' => "{$uniqid}-{$i}-mutex"];
         $this->database->insert('buffered_jobs', "{$uniqid}-{$i}-id", $row);
     }
     $this->superqueue->queueJobsFromDatabaseToWorkerQueue();
     $confirmed_messages = 0;
     for ($i = 1; $i <= $count; $i++) {
         $mq_message = json_decode($this->message_bank->consumeMessage()->getContent(), true);
         if ("{$uniqid}-{$i}-name" === $mq_message['name'] && $this->database->has('queued_jobs', "{$uniqid}-{$i}-id")) {
             ++$confirmed_messages;
         }
     }
     $this->assertSame($count, $confirmed_messages);
 }
Example #3
0
 /**
  * @covers ::has
  */
 public function testARowCanBeDetectedInATable()
 {
     $this->assertFalse($this->database->has('buffered_jobs', 1));
     $this->database->insert('buffered_jobs', 1, []);
     $this->assertTrue($this->database->has('buffered_jobs', 1));
 }