diff --git a/src/Queue/PHPRedisJob.php b/src/Queue/PHPRedisJob.php index 2279378..313e775 100644 --- a/src/Queue/PHPRedisJob.php +++ b/src/Queue/PHPRedisJob.php @@ -47,8 +47,13 @@ public function __construct(Container $container, PHPRedisQueue $redis, $job, $q */ public function fire() { - $this->resolveAndFire(json_decode($this->getRawBody(), true)); - } + $payload = $this->payload(); + + list($class, $method) = $this->parseJob($payload['job']); + + $this->instance = $this->resolve($class); + + $this->instance->{$method}($this, $payload['data']); } /** * Get the raw body string for the job. diff --git a/src/Queue/PHPRedisQueue.php b/src/Queue/PHPRedisQueue.php index d97aaf6..153b7f1 100644 --- a/src/Queue/PHPRedisQueue.php +++ b/src/Queue/PHPRedisQueue.php @@ -50,6 +50,20 @@ public function __construct(Database $redis, $default = 'default', $connection = { $this->redis = $redis; $this->default = $default; + $this->connection = $connection; + } + + /** + * Get the size of the queue. + * + * @param string $queue + * @return int + */ + public function size($queue = null) + { + $queue = $this->getQueue($queue); + + return $this->getConnection()->eval(LuaScripts::size(), 3, $queue, $queue.':delayed', $queue.':reserved'); } /**