kiwfy/taurus-publisher-php

此包已被放弃且不再维护。作者建议使用 not-empty/taurus-publisher-php-lib 包。

使用 LUA 脚本向 Redis 发送 Taurus 队列任务的 PHP 库

7.0.0 2023-11-26 22:59 UTC

This package is auto-updated.

Last update: 2023-11-26 23:00:29 UTC


README

Latest Version codecov CI Build Downloads Old Downloads PRs Welcome Packagist License (custom server)

使用 LUA 脚本向 Redis 发送 Taurus 队列任务的 PHP 库

安装

版本 7.0.0 需要 PHP 8.3

版本 6.0.0 需要 PHP 8.2

版本 5.0.0 需要 PHP 8.1

版本 4.0.0 需要 PHP 7.4

版本 3.0.0 需要 PHP 7.3

版本 2.0.0 需要 PHP 7.2

版本 1.0.0 需要 PHP 7.1

推荐通过 Composer 进行安装。

composer require not-empty/taurus-publisher-php-lib

使用

发布

use TaurusPublisher\TaurusPublisher;
$queue = 'test';
$data = [
	'publisher' => 'example',
];
$taurus = new TaurusPublisher();
$result = $taurus->add(
    $queue,
    $data
);
var_dump($result);

带有 redis 配置的发布

use TaurusPublisher\TaurusPublisher;
$queue = 'test';
$data = [
	'publisher' => 'example',
];
$redisConfig = [
    'scheme' => 'tcp',
    'host'   => 'localhost',
    'port'   => 6379,
];
$taurus = new TaurusPublisher($redisConfig);
$result = $taurus->add(
    $queue,
    $data
);
var_dump($result);

带有队列配置的发布

use TaurusPublisher\TaurusPublisher;
$queue = 'test';
$data = [
	'publisher' => 'example',
];
$taurus = new TaurusPublisher();
$queueConfig = [
    'attempts' => 4,
    'backoff' => 20000,
    'delay' => 1,
    'removeOnComplete' => 20,
];
$result = $taurus->add(
    $queue,
    $data,
    $queueConfig
);
var_dump($result);

循环发布,不超出 redis 连接数(重用 redis 连接)

您可以将 redis 连接传递给持久连接,并允许您循环添加方法,而不会因为连接过多而超载 redis

use TaurusPublisher\TaurusPublisher;
use Predis\Client as Redis;
$redisConfig = [
    'scheme' => 'tcp',
    'host'   => 'redis',
    'port'   => 6379,
];
$client = new Redis($redisConfig);
$queue = 'test';
$data = [
	'publisher' => 'example',
];
$taurus = new TaurusPublisher(
    $redisConfig,
    [],
    $client
);
for ($i=0; $i < 1000000; $i++) { 
    $result = $taurus->add(
        $queue,
        $data
    );
    var_dump($result);
}

如果您需要一个运行或测试的环境,可以像这样构建和安装依赖项

docker build --build-arg PHP_VERSION=8.3-rc-cli -t not-empty/taurus-publisher-php-lib:php83 -f contrib/Dockerfile .

访问容器

docker run -v ${PWD}/:/var/www/html -it not-empty/taurus-publisher-php-lib:php83 bash

验证所有依赖项是否已安装

composer install --no-dev --prefer-dist

并运行(您需要 redis)

php sample/publisher-sample.php

开发

想要贡献?太好了!

项目使用简单的代码。修改您的文件时,请注意更新!任何新代码都只能接受通过所有验证。

为确保整个项目正常

首先,您需要构建一个正确环境来安装所有依赖项

docker build --build-arg PHP_VERSION=8.3-rc-cli -t not-empty/taurus-publisher-php-lib:php83 -f contrib/Dockerfile .

访问容器

docker run -v ${PWD}/:/var/www/html -it not-empty/taurus-publisher-php-lib:php83 bash

安装所有依赖项

composer install --dev --prefer-dist

运行所有验证

composer check

Not Empty Foundation - 免费代码,充实心灵