eo / subway
基于核反应堆的PHP后台任务处理
v0.3.0
2014-06-13 20:18 UTC
Requires
- php: >=5.4.0
- doctrine/collections: ~1.0
- herrera-io/phar-update: ~2.0
- monolog/monolog: ~1.7
- predis/predis: ~0.8
- react/event-loop: ~0.4
- symfony/config: ~2.3
- symfony/console: ~2.3
- symfony/event-dispatcher: ~2.3
- symfony/options-resolver: ~2.3
Requires (Dev)
- phpunit/phpunit: 3.7.*
README
基于核反应堆的PHP后台任务处理。
特性
- 延迟任务
- 重复任务
- Resque 兼容数据库
- 可配置日志记录
- 默认支持 composer 和 symfony 应用
要求
安装
在 composer.json 中添加 Subway
{
"require": {
"eo/subway": "dev-master"
}
}
现在运行以下命令告诉 composer 下载包
$ php composer.phar update eo/subway
Composer 将将所有内容安装到项目的 vendor 目录中。
使用方法
创建任务类
要创建一个新任务,扩展您的任务类到 Subway\Job
并实现抽象方法 perform
。
<?php
use Subway\Job;
class MyAwesomeJob extends Job
{
public function perform()
{
// do something here
}
}
排队任务
<?php
use Predis\Client;
use Subway\Factory;
$redis = new Client();
$subway = new Factory($redis);
$message = new Message('default', 'Subway\Tests\Job\Md5Job', array('hello' => 'world'));
$id = $this->factory->enqueue($message);
echo "Job $id enqueued!";
如果需要仅排队消息一次,使用 enqueueOnce
方法。
执行任务
要执行任务,您可以使用此库附带的可执行文件(查看 bin
目录)或从以下链接下载最新的 .phar 归档: http://eymengunay.github.io/subway/downloads/subway-latest.phar
一旦找到二进制文件或下载了 .phar 归档,请使用以下命令启动您的工人
php subway.phar worker
要查看所有可用选项和参数,请查看命令帮助
php subway.phar worker -h
命令
报告问题或功能请求
与此库相关的问题和功能请求在 Github 问题跟踪器中跟踪:https://github.com/eymengunay/subway/issues