kriss / yii2-thread
yii2 multi thread with fsockopen
Installs: 308
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 2
Open Issues: 0
Type:yii2-extension
Requires
- yiisoft/yii2: *
This package is auto-updated.
Last update: 2024-11-10 15:00:15 UTC
README
yii2 使用 fsockopen 模拟多线程操作
安装
推荐使用 composer.
php composer.phar require --prefer-dist kriss/yii2-thread "*"
或添加下面代码到composer.json
文件
"kriss/yii2-thread": "*"
然后使用
php composer.phar update
使用方式
1.进行配置
basic 模版为 config/web.php, advanced 模版为对应入口的 config/main.php
示例配置如下:
'components' => [ ... 'thread' => [ 'class' => 'kriss\thread\components\Thread', 'enable' => true, 'tokenValidate' => true, // 是否开启 url token 验证,默认开启 'tokenParam' => 'token', // token 参数名 'token' => 'suiyitianxiezijidetoken', // 随意填写自己的验证 token ], ... ]
2.继承和改写
编写控制器来接收异步处理的链接
继承 \kriss\thread\controllers\WebThreadController
然后编写对应的 Action
3.使用
比如控制器下有个 Action 如下:
public function actionSendMessage($message) { Yii::info($message); }
则在需要调用异步处理的脚本中使用:
Yii::$app->thread->addThread(['/web-thread/send-message','message'=>'hello world']);
链接['/web-thread/send-message','message'=>'hello world']
将会在"本次请求脚本执行结束之前"(参考:register_shutdown_function)
使用fsockopen
方式发起请求访问