private function atomicPush($jobId, $class, $args = [], $queue = self::QUEUE, $retry = true, $doAt = null)
    {
        if (array_values($args) !== $args) {
            throw new Exception('Associative arrays in job args are not allowed');
        }

        if (!is_null($doAt) && !is_float($doAt) && is_string($doAt)) {
            throw new Exception('at argument needs to be in a unix epoch format. Use microtime(true).');
        }

        $job = $this->serializer->serialize($jobId, $class, $args, $retry, $queue);

        if ($doAt === null) {
            $this->redis->sadd($this->name('queues'), $queue);
            $this->redis->lpush($this->name('queue', $queue), $job);
        } else {
            $this->redis->zadd($this->name('schedule'), $doAt, $job);
        }
    }
private function atomicPush($jobId, $class, $args = [], $queue = self::QUEUE, $retry = true, $doAt = null)
    {
        if (array_values($args) !== $args) {
            throw new Exception('Associative arrays in job args are not allowed');
        }

        if (!is_null($doAt) && !is_float($doAt) && is_string($doAt)) {
            throw new Exception('at argument needs to be in a unix epoch format. Use microtime(true).');
        }

        $job = $this->serializer->serialize($jobId, $class, $args, $retry, $queue);

        if ($doAt === null) {
            $this->redis->sadd($this->name('queues'), $queue);
            $this->redis->lpush($this->name('queue', $queue), $job);
        } else {
            $this->redis->zadd($this->name('schedule'), $doAt, $job);
        }
    }
private function atomicPush ( $ jobId , $ class , $ args = [ ] , $ queue = self :: QUEUE , $ retry = true , $ doAt = null ) { if ( array_values ( $ args ) !== $ args ) { throw new Exception ( 'Associative arrays in job args are not allowed' ) ; } if ( ! is_null ( $ doAt ) && ! is_float ( $ doAt ) && is_string ( $ doAt ) ) { throw new Exception ( 'at argument needs to be in a unix epoch format. Use microtime(true).' ) ; } $ job = $ this -> serializer -> serialize ( $ jobId , $ class , $ args , $ retry , $ queue ) ; if ( $ doAt === null ) { $ this -> redis -> sadd ( $ this -> name ( 'queues' ) , $ queue ) ; $ this -> redis -> lpush ( $ this -> name ( 'queue' , $ queue ) , $ job ) ; } else { $ this -> redis -> zadd ( $ this -> name ( 'schedule' ) , $ doAt , $ job ) ; } }
Push job to redis

@param string     $jobId
@param string     $class
@param array      $args
@param string     $queue
@param bool       $retry
@param float|null $doAt
@throws exception Exception
Push job to redis