<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>

                # 同步任務-Task task用作執行一些耗時操作,或者同步客戶端,task本身是同步的,不能使用異步方法,task中也不能調用task。 ## 創建一個Task 繼承Task類。 ``` class TestTask extends Task { public function test_task() { $testModel = $this->loader->model('TestModel', $this); $result = $testModel->test(); print_r($result); } } ``` Task中可以調用Model,但是該Model有限制,不能有異步的API命令(redis,mysql框架會自動轉換為同步模式,所以可以使用) ## 調用一個Task ``` $testTask = $this->loader->task(TestTask::class, $this); $result = $testTask->test(); ``` 可以直接訪問Task,task的執行是異步的,不會堵塞worker進程。 也可以設置更豐富的協程屬性 ``` $testTask->call("test",[],-1,function (TaskCoroutine $taskCoroutine){ $taskCoroutine->setTimeout(1000); }); ``` 也可以使用回調 ``` $testTask->startTask("test",[],-1,function ($result){ //result是結果 }); ``` >上面的方法的回調函數是異步執行的,那時可能調用這個task的控制器和模型已經被銷毀了。 如果僅僅是通知Task執行某個任務不想獲得結果可以使用startTask方法,并將回調函數設置為null。 ## 限制 Task是同步進程,限制很多: 1.不能使用異步客戶端 2.不能使用進程間通信 >Sub/Pub基于進程間通信實現的,所以不能在Task中使用
                  <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>

                              哎呀哎呀视频在线观看