欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python:在django中用celery實現異步

系統 1741 0

celery英文官方網站:www.celeryproject.org
中文網站:http://docs.jinkan.org/docs/celery/

celery

Celery 是一個簡單、靈活且可靠的,處理大量消息的 分布式系統 ,并且提供維護這樣一個系統的必需工具。
專注于實時處理的任務隊列,同時也支持任務調度。

作用:

  • 解決耗時操作:開一個新的進程,去操作耗時操作,不影響原有進程 定時操作,使
  • List item

用celery定時執行

操作:

  1. 定義一個任務task,也就是一個python函數
  2. 將耗時任務存儲到隊列queue中
  3. 在一個新的進程中,負責執行隊列中的任務,worker
  4. broker:負責調度,將任務加到隊列中,在布置環境中使用redis

安裝包

            
              pip install celery
pip install celery
              
                -
              
              
                with
              
              
                -
              
              redis
pip install django
              
                -
              
              celery

            
          

配置settings
將djcelery包加入到INSTALLED_APPS中
并添加以下代碼:

            
              
                import
              
               djcelery
djcelery
              
                .
              
              setup_loader
              
                (
              
              
                )
              
              
                # 初始化所有的task
              
              
BROKER_URL 
              
                =
              
              
                'redis://127.0.0.1:6379/0'
              
              
                # 把所有的任務放在queue中,默認用0這個數據庫
              
              
CELERY_IMPORTS 
              
                =
              
              
                (
              
              
                'test1.task'
              
              
                )
              
              
                # 在test1這個應用下使用任務
              
            
          

在test1應用目錄下創建task.pty文件

            
              
                import
              
               time

              
                from
              
               celery 
              
                import
              
               task

@task

              
                def
              
              
                show
              
              
                (
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                'hello...'
              
              
                )
              
              
	time
              
                .
              
              sleep
              
                (
              
              
                5
              
              
                )
              
              
                print
              
              
                (
              
              
                'world...'
              
              
                )
              
            
          

遷移,生成celery需要的數據表
此時不需要生成遷移,直接進行遷移

            
              python manage
              
                .
              
              py migrate

            
          

啟動redis

            
              sudo redis
              
                -
              
              server 
              
                /
              
              etc
              
                /
              
              redis
              
                /
              
              redis
              
                .
              
              conf

            
          

啟動worker

            
              python manage
              
                .
              
              py celery worker 
              
                -
              
              
                -
              
              loglevel
              
                =
              
              info

            
          

定義視圖,調用task
函數名.delay([參數])

            
              
                from
              
               task 
              
                import
              
              
                *
              
              
                def
              
              
                celeryTest
              
              
                (
              
              request
              
                )
              
              
                :
              
              
	show
              
                .
              
              delay
              
                (
              
              
                )
              
              
                return
              
               HttpResponse
              
                (
              
              
                'ok'
              
              
                )
              
            
          

配置url

            
              url
              
                (
              
              r
              
                '^celerytest/$'
              
              
                ,
              
               views
              
                .
              
              celeryTest
              
                )
              
              
                ,
              
            
          

總結:

  • 簡單:易使用和維護,不需要配置文件
  • 高可用性:如果鏈接丟失或者失敗,客戶端會自動重試,并broker通過主/主或者主/從方式復制來提高可用性。
  • 快速:單個celery進程每分鐘可處理數以百萬計的任務
  • 靈活:celery幾乎所有的部分都可以擴展或者單獨使用。

更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日韩一级在线播放 | 国产精品第六页 | 国产九九精品 | 美女午夜色视频在线观看 | 午夜在线亚洲男人午在线 | 国产精品主播视频 | 欧美日韩精品久久久免费观看 | 日本小网站 | 精品久久中文字幕 | 午夜婷婷精品午夜无码A片影院 | 国产亚洲精彩视频 | 免费色网 | 奇米第四狠狠777高清秒播 | 欧美精品一区二 | 亚洲www啪成人一区二区 | 中国一级毛片在线视频 | 9277在线观看视频 | 一区二区三区四区免费看 | 国产福利不卡一区二区三区 | 一区二区三区欧美大片 | 国产一级性生活视频 | 污污小视频在线观看 | 99这里有精品 | 五月婷婷开心综合 | 久久国产一区 | 成人精品一区二区 | 久久亚洲欧美日韩精品专区 | 男女爽爽视频 | 色视频免费版高清在线观看 | 亚洲免费黄色 | 国产成人自拍一区 | 国产精品夜夜爽 | 国产成人黄网址在线视频 | 日本污网站| 小优视频为爱而生懂你更多茄子 | 成人毛片视频免费看 | 国产一区二区三区高清 | 五月伊人婷婷 | 欧美精品在线视频观看 | 亚洲无吗在线视频 | 久草com |