src/Queues/Queue.php
public function popByJid(string $jid, ?string $worker = null): ?BaseJob
    {
        $workerName = $worker ?: $this->client->getWorkerName();
        $data = json_decode($this->client->popByJid($this->name, $jid, $workerName), true);
        $jobData = array_reduce($data, 'array_merge', []); //unwrap nested array

        if (isset($jobData['jid']) === false) {
            return null;
        }

        if ($jobData['jid'] === $jid) {
            $job = new BaseJob($this->client, $jobData);
            $job->setEventsManager($this->getEventsManager());
        }

        return $job ?? null;
    }
public function popByJid(string $jid, ?string $worker = null): ?BaseJob
    {
        $workerName = $worker ?: $this->client->getWorkerName();
        $data = json_decode($this->client->popByJid($this->name, $jid, $workerName), true);
        $jobData = array_reduce($data, 'array_merge', []); //unwrap nested array

        if (isset($jobData['jid']) === false) {
            return null;
        }

        if ($jobData['jid'] === $jid) {
            $job = new BaseJob($this->client, $jobData);
            $job->setEventsManager($this->getEventsManager());
        }

        return $job ?? null;
    }
public function popByJid ( string $ jid , ? string $ worker = null ) : ? BaseJob { $ workerName = $ worker ? : $ this -> client -> getWorkerName ( ) ; $ data = json_decode ( $ this -> client -> popByJid ( $ this -> name , $ jid , $ workerName ) , true ) ; $ jobData = array_reduce ( $ data , 'array_merge' , [ ] ) ; //unwrap nested array if ( isset ( $ jobData [ 'jid' ] ) === false ) { return null ; } if ( $ jobData [ 'jid' ] === $ jid ) { $ job = new BaseJob ( $ this -> client , $ jobData ) ; $ job -> setEventsManager ( $ this -> getEventsManager ( ) ) ; } return $ job ?? null ; }
Get job by JID from this queue.

@param string $jid
@param string|null $worker
@return BaseJob|null
Get job by JID from this queue .