Blame | Letzte Änderung | Log anzeigen | RSS feed
<?phpnamespace Illuminate\Queue\Jobs;use Illuminate\Container\Container;use Illuminate\Contracts\Queue\Job as JobContract;use Illuminate\Queue\RedisQueue;class RedisJob extends Job implements JobContract{/*** The Redis queue instance.** @var \Illuminate\Queue\RedisQueue*/protected $redis;/*** The Redis raw job payload.** @var string*/protected $job;/*** The JSON decoded version of "$job".** @var array*/protected $decoded;/*** The Redis job payload inside the reserved queue.** @var string*/protected $reserved;/*** Create a new job instance.** @param \Illuminate\Container\Container $container* @param \Illuminate\Queue\RedisQueue $redis* @param string $job* @param string $reserved* @param string $connectionName* @param string $queue* @return void*/public function __construct(Container $container, RedisQueue $redis, $job, $reserved, $connectionName, $queue){// The $job variable is the original job JSON as it existed in the ready queue while// the $reserved variable is the raw JSON in the reserved queue. The exact format// of the reserved job is required in order for us to properly delete its data.$this->job = $job;$this->redis = $redis;$this->queue = $queue;$this->reserved = $reserved;$this->container = $container;$this->connectionName = $connectionName;$this->decoded = $this->payload();}/*** Get the raw body string for the job.** @return string*/public function getRawBody(){return $this->job;}/*** Delete the job from the queue.** @return void*/public function delete(){parent::delete();$this->redis->deleteReserved($this->queue, $this);}/*** Release the job back into the queue after (n) seconds.** @param int $delay* @return void*/public function release($delay = 0){parent::release($delay);$this->redis->deleteAndRelease($this->queue, $this, $delay);}/*** Get the number of times the job has been attempted.** @return int*/public function attempts(){return ($this->decoded['attempts'] ?? null) + 1;}/*** Get the job identifier.** @return string|null*/public function getJobId(){return $this->decoded['id'] ?? null;}/*** Get the underlying Redis factory implementation.** @return \Illuminate\Queue\RedisQueue*/public function getRedisQueue(){return $this->redis;}/*** Get the underlying reserved Redis job.** @return string*/public function getReservedJob(){return $this->reserved;}}