コード例 #1
0
 public function testExpiredJobsArePopped()
 {
     $jobs = [new RedisQueueIntegrationJob(0), new RedisQueueIntegrationJob(1), new RedisQueueIntegrationJob(2), new RedisQueueIntegrationJob(3)];
     $this->queue->later(1000, $jobs[0]);
     $this->queue->later(-200, $jobs[1]);
     $this->queue->later(-300, $jobs[2]);
     $this->queue->later(-100, $jobs[3]);
     $this->assertEquals($jobs[2], unserialize(json_decode($this->queue->pop()->getRawBody())->data->command));
     $this->assertEquals($jobs[1], unserialize(json_decode($this->queue->pop()->getRawBody())->data->command));
     $this->assertEquals($jobs[3], unserialize(json_decode($this->queue->pop()->getRawBody())->data->command));
     $this->assertNull($this->queue->pop());
     $this->assertEquals(1, $this->redis->connection()->zcard('queues:default:delayed'));
     $this->assertEquals(3, $this->redis->connection()->zcard('queues:default:reserved'));
 }
コード例 #2
0
ファイル: RedisJob.php プロジェクト: narrowspark/framework
 /**
  * {@inheritdoc}
  */
 public function release(int $delay = 0)
 {
     parent::release($delay);
     $this->redis->deleteAndRelease($this->queue, $this->reserved, $delay);
 }