swoft php 協程 效能優化
阿新 • • 發佈:2020-07-29
https://dy.163.com/article/E14KTSAC0511HSJK.html 原文章地址,傳送門
因為看到韓天峰大佬的這個,協程那簡直不要太酸爽。所以我也嘗試一下。
伺服器環境lnmp+swoole linux(centos7.4),(nginx1.14),(php7.2)
框架選用swoft2.0.9 這就走起來。
use Swoft\Task\Task; /** * 測試協程任務 */ public function RedisGoodsList( $page, $brand_id, $tags ){ $res = Task::co('GoodsTask', 'TestCoTask', [1,2,3], 3, []); return $res; }
<?php declare(strict_types=1); /** * This file is part of Swoft. * * @link https://swoft.org * @document https://swoft.org/docs * @contact [email protected] * @license https://github.com/swoft-cloud/swoft/blob/master/LICENSE */ namespace App\Task\Task; use Swoft\Task\Annotation\Mapping\Task; use Swoft\Task\Annotation\Mapping\TaskMapping; use Swoft\Db\DB; use Swoft\Db\Eloquent\Model; /** * Class GoodsTask * * @since 2.0 * * @Task(name="GoodsTask") */ class GoodsTask { /** * @TaskMapping(name="TestCoTask") * 批量收藏商品進入購物車 */ public function TestCoTask( $a, $b, $c) { return $a.$b.$c; } }
呼叫協程任務成功。談不上效果。
我們看到task底層中,
都是封裝好了的。試管呼叫就行了。