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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ### 導航 - [索引](# "總目錄") - [下一頁](# "部署選擇") | - [上一頁](# "請求內容校驗碼") | - [Flask 0.10.1 文檔](#) ? - [Flask 代碼模式](#) ? # 基于 Celery 的后臺任務 Celery 是一個 Python 的任務隊列,包含線程/進程池。曾經有一個 Flask 的集成,但在 Celery 3 重構了內部細節后變得不必要了。本指導補充了如何妥善在 Flask中使用 Celery 的空白,但假設你已經讀過了 Celery 官方文檔中的教程[使用 Celery 的首要步驟](http://docs.celeryproject.org/en/master/getting-started/first-steps-with-celery.html) [http://docs.celeryproject.org/en/master/getting-started/first-steps-with-celery.html] ### 安裝 Celery Celery 提交到了 Python Package Index (PyPI),所以可以通過標準 Python 工具pip 或 easy_install 安裝: ~~~ $ pip install celery ~~~ ### 配置 Celery 你需要的第一個東西是一個 Celery 實例,稱為 Celery 應用。僅就 Celery 而言其與 Flask 中的 [Flask](# "flask.Flask") 對象有異曲同工之妙。因為這個實例用于你在 Celery 中做任何事——諸如創建任務和管理職程(Worker)——的入口點,它必須可以在其它模塊中導入。 例如,你可以把它放置到 tasks 模塊中。雖然你可以在不重新配置 Flask 的情況下使用 Celery,但繼承任務、添加對 Flask 應用上下文的支持以及關聯Flask 配置會讓情況變得更好。 這就是把 Celery 集成到 Flask 的全部必要步驟: ~~~ from celery import Celery def make_celery(app): celery = Celery(app.import_name, broker=app.config['CELERY_BROKER_URL']) celery.conf.update(app.config) TaskBase = celery.Task class ContextTask(TaskBase): abstract = True def __call__(self, *args, **kwargs): with app.app_context(): return TaskBase.__call__(self, *args, **kwargs) celery.Task = ContextTask return celery ~~~ 該函數創建一個新的 Celery 對象,并用應用配置來配置中間人(Broker),用 Flask 配置更新其余的 Celery 配置,之后在應用上下文中創建一個封裝任務執行的任務子類。 ### 最簡示例 通過上面的步驟,下面即是在 Flask 中使用 Celery 的最簡示例: ~~~ from flask import Flask app = Flask(__name__) app.config.update( CELERY_BROKER_URL='redis://localhost:6379', CELERY_RESULT_BACKEND='redis://localhost:6379' ) celery = make_celery(app) @celery.task() def add_together(a, b): return a + b ~~~ 這項任務可以在后臺調用: ~~~ >>> result = add_together.delay(23, 42) >>> result.wait() 65 ~~~ ### 運行 Celery 職程 現在如果你行動迅速,已經執行過了上述的代碼,你會失望地得知 .wait()永遠不會實際地返回。這是因為你也需要運行 Celery。你可以這樣把 Celery以職程運行: ~~~ $ celery -A your_application worker ~~~ your_application 字符串需要指向創建 celery 對象的應用所在包或模塊。 ? 版權所有 2013, Armin Ronacher.
                  <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>

                              哎呀哎呀视频在线观看