Ejemplo n.º 1
0
 public function getPendingAction($queueId)
 {
     $jobs = $this->metro->listJobs($queueId, JobStatus::pending(), 20, 1);
     $responseContent = [];
     $responseContent['data'][] = ['type' => 'job'];
     return new JsonResponse($responseContent);
 }
Ejemplo n.º 2
0
 function it_exits_non_zero_if_nothing_is_found(MonitoredQueue $metro)
 {
     $metro->getJob('default')->willReturn(null);
     $metro->listQueues()->willReturn(['no luck']);
     $input = new ArrayInput(['id' => 'default']);
     $output = new BufferedOutput();
     $this->run($input, $output)->shouldNotReturn(0);
 }
Ejemplo n.º 3
0
 function it_tails_logs(MonitoredQueue $metro)
 {
     $metro->getHistory('123')->willReturn([['some date', 'processing']], [['some date', 'not processing anymore']]);
     $metro->getLog('123', 0)->willReturn(["first chunk\n", "second chunk\n"]);
     $metro->getLog('123', 2)->willReturn(["third chunk\n"]);
     $output = $this->execute(['--tail' => true, 'job-id' => '123']);
     expect($output->fetch())->toReturn("first chunk\nsecond chunk\nthird chunk\n");
 }
Ejemplo n.º 4
0
 private function buildTableRow($jobId, $timestamp, MonitoredQueue $queue, $truncate)
 {
     $job = $queue->getJob($jobId);
     $tries = $queue->getNumberOfTries($jobId);
     $implementation = $job->getImplementation();
     $args = json_encode($job->getArguments(), JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
     if ($truncate) {
         $args = $this->truncateArgs($args);
     }
     $age = Carbon::createFromTimeStamp($timestamp)->diffForHumans();
     $humanizedTries = $this->formatTries($tries);
     return [$jobId, $age, $humanizedTries, $implementation, $args];
 }
Ejemplo n.º 5
0
 public function getQueueAction($id)
 {
     $this->metro->setName($id);
     $responseContent = [];
     $responseContent['data'] = ['type' => 'queue', 'id' => $id, 'pending' => $this->metro->getNumberOfPendingJobs(), 'processing' => $this->metro->getNumberOfProcessingJobs(), 'successful' => $this->metro->getNumberOfSuccessfulJobs(), 'failed' => $this->metro->getNumberOfFailedJobs()];
     $this->addLinksIfPossible($responseContent, $id);
     return new JsonResponse($responseContent);
 }