数量赋 / yii2-async-worker
基于swoole编写的yii2后台任务处理
dev-master
2016-12-28 08:53 UTC
Requires
- yiisoft/yii2: *
This package is not auto-updated.
Last update: 2024-09-28 20:25:22 UTC
README
基于swoole编写的yii2后台任务处理
安装
安装此扩展的首选方式是通过 composer。
运行以下命令之一:
php composer.phar require --prefer-dist shuliangfu/yii2-async-worker "*"
或将以下内容
"shuliangfu/yii2-async-worker": "*"
添加到您的 composer.json 文件的 require 部分。
使用方法
一旦安装了扩展,只需在代码中使用即可
配置
'components' => [ 'worker' => [ 'class' => 'shuliangfu\async\AsyncWorker', 'options' => [ 'host' => '0.0.0.0', 'port' => 9510, 'process_name' => 'async-worker', 'open_tcp_nodelay' => 1, 'daemonize' => 1, 'worker_num' => 2, 'task_worker_num' => 2, 'task_max_request' => 10000, 'pidfile' => Yii::getAlias('@console/runtime/tmp/async-worker.pid'), 'task_tmpdir' => Yii::getAlias('@console/runtime/tmp/async-worker/task'), 'log_file' => Yii::getAlias('@console/runtime/tmp/async-worker.log'), 'log_size' => 204800000, 'client_timeout' => 30, ] ]; ] 'controllerMap' => [ 'async-worker' => [ 'class' => 'shuliangfu\async\AsyncWorkerController', ] ]
启动服务
php yii async-worker start #启动
php yii async-worker stop #停止
php yii async-worker restart #重启
php yii async-worker list #查看进程
php yii async-worker stats #查看状态
执行后台任务
执行单个任务
Yii::$app->worker->run([
'route' => 'async-worker/send-mail',
'argv' => ['admin@shuliangfu.com', '我在使用您的扩展', '我在使用您的扩展,谢谢']
]);
执行多个任务
Yii::$app->worker->run([
[
'route' => 'async-worker/send-mail',
'argv' => ['username@youemail.com', '我在使用您的扩展', '我在使用您的扩展,谢谢']
],
...
,
]);