https://dy.163.com/article/E14KTSAC0511HSJK.html 原文章地址,传送门
因为看到韩天峰大佬的这个,协程那简直不要太酸爽。所以我也尝试一下。
服务器环境lnmp+swoole linux(centos7.4),(nginx1.14),(php7.2)
框架选用swoft2.0.9 这就走起来。
use SwoftTaskTask; /** * 测试协程任务 */ 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 group@swoft.org * @license https://github.com/swoft-cloud/swoft/blob/master/LICENSE */ namespace AppTaskTask; use SwoftTaskAnnotationMappingTask; use SwoftTaskAnnotationMappingTaskMapping; use SwoftDbDB; use SwoftDbEloquentModel; /** * Class GoodsTask * * @since 2.0 * * @Task(name="GoodsTask") */ class GoodsTask { /** * @TaskMapping(name="TestCoTask") * 批量收藏商品进入购物车 */ public function TestCoTask( $a, $b, $c) { return $a.$b.$c; } }
调用协程任务成功。谈不上效果。
我们看到task底层中,
都是封装好了的。试管调用就行了。