我如何在 php 中使用 tarantool 队列?

How can i use tarantool queue in php?

有一个php库https://github.com/tarantool-php/queue,但它需要ext-tarantool,所以有没有任何纯粹用php编写的活动可维护库,它允许我们使用tarantool队列php 5.6 还是 7? 或者是否有任何现成的 centos 软件包可以为 php5.6 安装 ext-tarantool? yum install php-tarantool 给出以下不兼容错误

Error: Package: php-tarantool-0.1.0-19.el6.x86_64 (tarantool_1_6)
          Requires: php(zend-abi) = 20090626
          Installed: php-common-5.6.19-1.el6.remi.x86_64 (@remi-php56)
              php(zend-abi) = 20131226-64

我是 tarantool-php/queue 库的作者。我计划在将来添加对 the pure PHP Tarantool client 的支持,只是目前还没有。免费填写,为此提交一张票 ;)

同时,作为解决方法,您可以用 \Tarantool class 修饰 Tarantool\Client,例如:

use Tarantool\Client;

class Tarantool
{
    private $client;

    public function __construct(Client $client)
    {
        $this->client = $client;
    }

    public function call($functionName, array $args = null)
    {
        $result = $this->client->call($functionName, $args ? $args : []);

        return $result->getData();
    }
}

然后像这样使用它:

use Tarantool\Client;
use Tarantool\Connection\SocketConnection;
use Tarantool\Packer\PurePacker;
use Tarantool\Queue\Queue;

$client = new Client(new SocketConnection(), new PurePacker());
$client = new Tarantool($client);

$queue = new Queue($client, 'foobar');