<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # swoole_server->taskCo 并發執行`Task`并進行協程調度。僅用于`2.0`版本。 ```php function swoole_server->taskCo(array $tasks, float $timeout = 0.5) : array; ``` * `$tasks`任務列表,必須為數組。底層會遍歷數組,將每個元素作為`task`投遞到`Task`進程池 * `$timeout`超時時間,默認為`0.5`秒,當規定的時間內任務沒有全部完成,立即中止并返回結果 * 任務完成或超時,返回結果數組。結果數組中每個任務結果的順序與`$tasks`對應,如:`$tasks[2]`對應的結果為`$result[2]` * 某個任務執行失敗或超時,對應的結果數組項為`false`,如:`$tasks[2]`失敗了,那么`$result[2]`的值為`false` > 最大并發任務不得超過`1024` > `taskCo`在`2.0.9`或更高版本可用 調度過程 ---- * `$tasks`列表中的每個任務會隨機投遞到一個`Task`工作進程,投遞完畢后,`yield`讓出當前協程,并設置一個`$timeout`秒的定時器 * 在`onFinish`中收集對應的任務結果,保存到結果數組中。判斷是否所有任務都返回了結果,如果為否,繼續等待。如果為是,進行`resume`恢復對應協程的運行,并清除超時定時器 * 在規定的時間內任務沒有全部完成,定時器先觸發,底層清除等待狀態。將未完成的任務結果標記為`false`,立即`resume`對應協程 使用示例 ---- ```php <?php $server = new Swoole\Http\Server("127.0.0.1", 9502, SWOOLE_BASE); $server->set([ 'worker_num' => 1, 'task_worker_num' => 2, ]); $server->on('Task', function (swoole_server $serv, $task_id, $worker_id, $data) { echo "#{$serv->worker_id}\tonTask: worker_id={$worker_id}, task_id=$task_id\n"; if ($serv->worker_id == 1) { sleep(1); } return $data; }); $server->on('Request', function ($request, $response) use ($server) { $tasks[0] = "hello world"; $tasks[1] = ['data' => 1234, 'code' => 200]; $result = $server->taskCo($tasks, 0.5); $response->end('Test End, Result: '.var_export($result, true)); }); $server->start(); ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看