Recommend this page to a friend! |
Download .zip |
Info | Example | View files (19) | Download .zip | Reputation | Support forum | Blog | Links |
Last Updated | Ratings | Unique User Downloads | Download Rankings | |||||
2023-11-30 (1 month ago) | Not yet rated by the users | Total: 14 | All time: 11,184 This week: 87 |
Version | License | PHP version | Categories | |||
taurus-publisher-php 1.0 | Custom (specified... | 7.1 | Content management, Performance and o..., P... |
Description | Author | |||
This package can queue and publish jobs in Redis using LUA scripts. Innovation Award
|
<?php |
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-lib
Publishing
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 bash
Verify if all dependencies is installed
composer install --no-dev --prefer-dist
and run (you will need redis)
php sample/publisher-sample.php
Want 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 bash
Install all dependences
composer install --dev --prefer-dist
Run all validations
composer check
Not Empty Foundation - Free codes, full minds
Files |
File | Role | Description | ||
---|---|---|---|---|
.github (1 directory) | ||||
contrib (4 files) | ||||
sample (3 files) | ||||
src (2 files) | ||||
tests (2 files) | ||||
composer.json | Data | Auxiliary data | ||
composer.lock | Data | Auxiliary data | ||
LICENSE | Lic. | License text | ||
phpcs.xml | Data | Auxiliary data | ||
phpmd.xml | Data | Auxiliary data | ||
phpunit.xml | Data | Auxiliary data | ||
README.md | Doc. | Documentation |
Files | / | contrib |
File | Role | Description |
---|---|---|
coverage-checker.php | Example | Example script |
Dockerfile | Data | Auxiliary data |
pre-commit | Data | Auxiliary data |
setup.sh | Data | Auxiliary data |
Files | / | sample |
File | Role | Description |
---|---|---|
publisher-sample-with-queue-config.php | Example | Example script |
publisher-sample-with-redis-config.php | Example | Example script |
publisher-sample.php | Example | Example script |
Files | / | src |
File | Role | Description |
---|---|---|
RedisAddCommand.php | Class | Class source |
TaurusPublisher.php | Class | Class source |
Files | / | tests |
File | Role | Description |
---|---|---|
RedisAddCommandTest.php | Class | Class source |
TaurusPublisherTest.php | Class | Class source |
taurus-publisher-php-2023-11-30.zip 37KB | |
taurus-publisher-php-2023-11-30.tar.gz 32KB | |
Install with Composer |
Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
100% |
|
|
Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.