public function getPendingAction($queueId) { $jobs = $this->metro->listJobs($queueId, JobStatus::pending(), 20, 1); $responseContent = []; $responseContent['data'][] = ['type' => 'job']; return new JsonResponse($responseContent); }
/** * @param string $queueId * @param JobStatus $status * @return Keyspace\JobList[] */ public function jobsWithStatus($queueId, JobStatus $status) { switch (true) { case $status->equals(JobStatus::pending()): return $this->pendingJobs($queueId); case $status->equals(JobStatus::processing()): return $this->processingJobs($queueId); case $status->equals(JobStatus::successful()): return $this->successfulJobs($queueId); case $status->equals(JobStatus::failed()): return $this->failedJobs($queueId); } }
private function _list(array $jobIds, JobStatus $status) { switch (true) { case $status->equals(JobStatus::pending()): $needle = 'queued'; break; case $status->equals(JobStatus::processing()): $needle = 'processing'; break; default: return $jobIds; } $list = []; foreach ($jobIds as $jobId) { if ($lastEvent = $this->keyspace->jobHistory($jobId)->lastEvent($needle)) { $timestamp = (new \DateTime($lastEvent->dateTime()))->getTimestamp(); $list[$jobId] = $timestamp; } } return $list; }
protected function status() { return JobStatus::pending(); }
function it_knows_how_many_jobs_are_queued(Redis $redis) { $redis->llen('queue:my-queue:pending')->willReturn(5); $this->countJobs('my-queue', JobStatus::pending())->shouldReturn(5); }