perspectivain / yii2-gearman
gearman服务器的消费者
dev-master
2015-03-21 15:08 UTC
Requires
- yiisoft/yii2: *
Suggests
- ext-gearman: This library needs Gearman
This package is not auto-updated.
Last update: 2024-09-28 17:07:23 UTC
README
用于作为消费者使用gearman服务器的组件
如果Yii2队列组件(yiisoft/yii2#492)被接受,则已弃用
简单使用
注册组件
'components' => [
'gearman' => [
'class' => 'perspectivain\gearman\Gearman',
'jobsNamespace' => '\app\jobs\\',
'servers' => [
['host' => GEARMAN_SERVER_HOST, 'port' => GEARMAN_SERVER_PORT],
],
],
...
],
注册命令控制器
'controllerMap' => [
'worker' => [
'class' => 'perspectivain\gearman\WorkerController'
],
...
]
创建工作类
namespace app\jobs;
class MyJob implements perspectivain\gearman\InterfaceJob
{
/**
* @inheritdoc
*/
public function run($attributes)
{
//do something
}
}
在您的应用程序中注册工作
\perspectivain\gearman\BackgroundJob::register('GearmanJob', ['attributeA' => 10]);
运行工作器
# php yii worker/run-one
如果您需要持续工作器,请使用crontab或supervisor进程控制系统(http://supervisord.org/)。
多队列使用
在您的应用程序中注册工作
$queueName = 'newqueue';
\perspectivain\gearman\BackgroundJob::register('GearmanJob', ['attributeA' => 10], \perspectivain\gearman\BackgroundJob::NORMAL, $queueName);
运行工作器
# php yii worker/run-one newqueue
安装
安装此扩展的首选方式是通过composer。
{
"require": {
"perspectivain/yii2-gearman": "*"
}
}