コード例 #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'));
 }