/** * Change state * * @param $state * @return $this */ public function state($state) { $this->emit($state); $this->removeState(); // Keep "FIFO!" $score = $this->injectors['timing'] + $this->injectors['priority']; $this->set('state', $state); $this->client->zadd('q:jobs', $score, $this->injectors['id']); $this->client->zadd('q:jobs:' . $state, $score, $this->injectors['id']); $this->client->zadd('q:jobs:' . $this->injectors['type'] . ':' . $state, $score, $this->injectors['id']); // Set inactive job to waiting list if ($this->queue->originalMode() && 'inactive' == $state) { $this->client->lpush('q:' . $this->injectors['type'] . ':jobs', 1); } $this->set('updated_at', Util::now()); return $this; }