PHP library using LUA script to send for redis a job for Taurus queue
Release 7.0.0 Requires PHP 8.3
Release 6.0.0 Requires PHP 8.2
Release 5.0.0 Requires PHP 8.1
Release 4.0.0 Requires PHP 7.4
Release 3.0.0 Requires PHP 7.3
Release 2.0.0 Requires PHP 7.2
Release 1.0.0 Requires PHP 7.1
The recommended way to install is through Composer.
composer require not-empty/taurus-publisher-php-libPublishing
use TaurusPublisher\TaurusPublisher;
$queue = 'test';
$data = [
'publisher' => 'example',
];
$taurus = new TaurusPublisher();
$result = $taurus->add(
$queue,
$data
);
var_dump($result);Publishing with redis config
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);Publishing with queue config
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);Publishing in loop without exceed redis connections (reuse redis connections)
you may pass a redis connection to persist connection and allow you to loop add method without overload redis with connections
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);
}if you want an environment to run or test it, you can build and install dependences like this
docker build --build-arg PHP_VERSION=8.3-rc-cli -t not-empty/taurus-publisher-php-lib:php83 -f contrib/Dockerfile .Access the container
docker run -v ${PWD}/:/var/www/html -it not-empty/taurus-publisher-php-lib:php83 bashVerify if all dependencies is installed
composer install --no-dev --prefer-distand run (you will need redis)
php sample/publisher-sample.phpWant to contribute? Great!
The project using a simple code. Make a change in your file and be careful with your updates! Any new code will only be accepted with all validations.
To ensure that the entire project is fine:
First you need to building a correct environment to install all dependences
docker build --build-arg PHP_VERSION=8.3-rc-cli -t not-empty/taurus-publisher-php-lib:php83 -f contrib/Dockerfile .Access the container
docker run -v ${PWD}/:/var/www/html -it not-empty/taurus-publisher-php-lib:php83 bashInstall all dependences
composer install --dev --prefer-distRun all validations
composer checkNot Empty Foundation - Free codes, full minds