Phive\Queue\RedisQueue::push PHP Méthode

push() public méthode

public push ( $item, $eta = null )
    public function push($item, $eta = null)
    {
        $eta = QueueUtils::normalizeEta($eta);
        if (\Redis::SERIALIZER_NONE !== $this->redis->getOption(\Redis::OPT_SERIALIZER)) {
            $item = $this->redis->_serialize($item);
        }
        $result = $this->redis->evaluate(self::SCRIPT_PUSH, ['items', 'seq', $item, $eta], 2);
        $this->assertResult($result);
    }

Usage Example

 /**
  * @requires function Redis::_serialize
  * @dataProvider provideItemsOfVariousTypes
  */
 public function testSupportItemTypeWithSerializerLoose($item)
 {
     $redis = self::getHandler()->createRedis();
     $queue = new RedisQueue($redis);
     $serializers = [\Redis::SERIALIZER_PHP];
     if (defined('Redis::SERIALIZER_IGBINARY')) {
         $serializers[] = \Redis::SERIALIZER_IGBINARY;
     }
     foreach ($serializers as $serializer) {
         $redis->setOption(\Redis::OPT_SERIALIZER, $serializer);
         $queue->push($item);
         $this->assertEquals($item, $queue->pop());
     }
 }