smncd / retask
Kushal Das 编写的 retask 的 PHP 版本
dev-main
2024-02-01 21:50 UTC
Requires
- php: >=8.2
- predis/predis: ^2.2
- ramsey/uuid: ^4.7
Requires (Dev)
- phpunit/phpunit: ^10.5
This package is not auto-updated.
Last update: 2024-09-26 23:51:22 UTC
README
这是由 Kushal Das 编写的retask python 模块的 PHP 版本。
retask 是一个轻量级的库,用于使用 Redis 创建分布式任务队列。
它基本上是 Redis 现有功能的一个包装,旨在与原始的 retask Python 模块兼容。
⚠️ 前方有龙⚠️
目前这个仓库是一个概念验证,可能会发生很多变化,所以请自行承担风险,祝您玩得开心!
安装
该包可以通过 composer 获取,但是您需要将项目最小稳定性设置为 dev
// composer.json
{
...
"minimum-stability": "dev",
...
}
然后,您可以像平常一样安装该包
composer require smncd/retask
示例
// provider.php
<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use Smncd\Retask\Queue;
use Smncd\Retask\Task;
$queue = new Queue('example');
$queue->connect();
$task = new Task([
'user' => 'John Doe',
'task' => 'High-five a sea otter.',
]);
$queue->enqueue($task);
// worker.php
<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use Smncd\Retask\Queue;
$queue = new Queue('example');
$queue->connect();
while (true) {
$task = $queue->dequeue();
if ($task) {
$data = $task->data();
print_r($task->data());
}
}