欧美三区_成人在线免费观看视频_欧美极品少妇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條評論
主站蜘蛛池模板: 天天摸天天操免费播放小视频 | 欧日韩视频| 欧美女人天堂 | 黄网站涩免费蜜桃网站 | 日韩中文网 | concern超碰在线| 大色综合色综合资源站 | 999精品免费视频观看 | 色综合久久天天综合绕观看 | 欧美精品福利 | 国产熟妇无码A片AAA毛片视频 | 久久精品草 | 亚洲欧美国产精品久久 | 国产视频资源在线观看 | 久久精品国产精品青草图片 | 青娱乐九色 | 91精品国产爱久久久久 | 99精品电影| 久久精品视频99 | www.伊人网 | 国产xxx在线观看 | 在线视频亚洲 | 毛片毛片毛片毛片毛片怎么 | 6全高清智能录播系统视频 精品九九 | 日韩中文一区 | 一级片在线观看 | 午夜在线免费观看视频 | 国内外一级毛片 | 91麻豆一区二区 | 97色免费视频 | 国产精品蜜臂在线观看 | 性强烈欧美一级毛片 | 亚洲国产女人aaa毛片在线 | 蜜桃视频成人 | 91热视频在线观看 | 成人久久一区二区 | 午夜一区二区三区 | 一个色综合亚洲色综合 | 欧美a视频在线观看 | 日韩在线第二页 | 91视频 - 88av|