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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # PheanstalkInterface 這是一個連接實例的接口。 它定義了一個 beanstalkd 連接必須擁有的方法。 ## 常量: |常量|描述| |---|---| | *DEFAULT_PORT = 11300*| 默認連接端口號 | | *DEFAULT_DELAY = 0* | 默認延遲秒數,0 為不延遲 | | *DEFAULT_PRIORITY = 1024*| 默認優先級,0 為最高優先級 | | *DEFAULT_TTR = 60* | 默認 TTR 60秒 | |*DEFAULT_TUBE = 'default'*| 默認 tube | ## 方法 |方法|用途| |---|---| |bury|put 一個 buried job ,只有在 kick 后才能被 reserve | | delete | 永久刪除一個 job | | ignore | 從 watchlist 中移除一個 tube | | kick | 移動指定數量的 buried 或 delayed job 到 ready 對列中,有buried 會先處理 buried | | kickJob | 將單個 job 移動到 ready 隊列中,移動后仍處于該 tube | | listTubes | 當前 server 的所有 tube | | listTubesWatched | 查看當前 watchlist,可通過傳入 true 還是 false ,來要求是從服務器獲取,還是從緩存獲取 | | listTubeUsed | 當前 use 的 tube ,傳入 true , 則從服務器請求,傳入 false ,則使用上一次的結果(緩存)| | pauseTube | 暫時不讓 tube 內的 job 被 reserve | | resumeTube | 恢復被暫停的 Tube | | peek | 查看一個 job ,不論它處于什么 tube | | peekReady | 查看 ready 隊列中下一個可被 reserve 的 job (當前 tube 中) | | peekDelayed | 查看 delayed 隊列中下一個即將進入 ready 的 job (當前 tube 中) | | peekBuried | 查看下一個 buried job (當前 job 中) | put | 放入一個 job | | release | 把一個 reserved job 重新放回 ready 隊列 | | reserve | 從當前 watchlist 中鎖定一個 job (接收一個 job)| | reserveWithTimeout | 有超時時間的 reserve | | statsJob | 查看一個 job 的統計信息 | | statsTube | 查看一個 tube 的統計信息 | | stats | 查看 server 的統計信息 | | touch | 為 job 延長一次 ttr | | useTube | use 一個 tube ,用于接著 put job | | watch | 把一個 tube 加入到 watchlist | | watchOnly | 往 watchlist 中加入一個 tube ,并 ignore 其他所有 tube # JobIdInterface ## 方法 |方法|描述| |---|---| | getId | 獲得 Job 的 id | # CommandInterface pheanstalk 的設計中,每個 beanstalkd 命令都以一個類的形式呈現,想要向 beanstalkd server 發送命令,需要通過實例化各 command 類來實現。 CommandInterface 接口,是所有 command 類最抽象的形態,我們觀察 pheanstalk 的源碼,可以發現,AbstractCommand 抽象類實現了這個接口。 而 AbstractCommand 又會被 TubeCommand 、JobCommand 類繼承,再往下,還會有具體的命令 command 類繼承 Tube 和 Job command 類。 > 由此,我們也可以看出 pheanstalk 在代碼設計上的思路:從 CommandInterface ,到 AbstractCommand ,再到 TubeCommand、JobCommand , 再到具體的命令 command ,它們便是一個典型的從抽象到具體的過程。 **在此,我們可以再回去看看 beanstalkd 的協議,熟悉各種命令和用途,結合 pheanstalk 對 command 的封裝過程,以提升我們在面向對象上的設計能力。** 要求每一個 command 類都必須實現以下幾個方法,且擁有以下幾個常量。 ## 常量 CommandInterface 的常量格式為 COMMAND_* ,如 COMMAND_PUT 、 COMMAND_USE 。 它分別定義了一系列 beanstalkd 的命令。 **之所以把 put 、 use 等命令,以常量的形式存儲,是為了將「具體命令」和「具體業務邏輯」剝離,并將「具體命令」放在最高級抽象的接口中。** 這樣,如果 beanstalkd 更新后更改了某些命令,如,將 put 改成 put1 ,我們的 pheanstalk 只需要更新 CommandInterface 即可,而其它「相對具體」的代碼中,使用的是 CommandInterface 的常量,不會受到影響。 這是利用接口解耦的思路。 而這里的常量,一般用于組裝要發送到 beanstalkd server 的命令行字符串。 ## 方法 |方法|描述| |---|---| | getCommandLine | 獲取當前命令行的字符串形式,會返回即將發送給 beanstalkd server 的命令行字符串形式,但不包括 CRLF ,即 \r\n | | hasData | 此命令是否存在 data | | getData | 返回此命令的 data 數據 | | getDataLength| 返回此命令 data 的 bytes | | getResponseParser | 返回 ResponseParser 實例 | # ResponseInterface 這個接口,定義了一個 beanstalkd 返回實例該有的常量和方法。 ## 常量 此接口下的所有常量,都以 RESPONSE_ 作為前綴,分別定義了 beanstalkd 可能返回的響應前綴,即響應中大寫的那一部分。(可以回頭參考下 beanstalkd 的協議) 這里的常量,也是用于組裝 beantalkd 返回的命令行字符串。 ## 方法 |方法|描述| |---|---| | getResponseName | 獲取 response 的名字,一般指此 response 是哪個命令的 | # ResponseParserInterface ## 方法 | 方法 | 描述 | |---|---| | parseResponse | 將 beanstalkd 返回的命令行字符串,解析為 Response Object | # SocketFactoryInterface ## 方法 | 方法 | 描述 | |---|---| | create | 返回一個 socket 連接 | # SocketInterface 此接口定義了 Socket 類所必須存在的操作,Socket 類主要處理和 beastalkd 通信相關事項。 ## 方法 | 方法 | 描述 | |---|---| | write | 向 socket 寫入數據 | | read | 從 socket 讀取指定字節量的數據 | | getLine | 獲取下一行 | | disconnect | 關閉 socket 連接 |
                  <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>

                              哎呀哎呀视频在线观看