HttpRunnerManager學習(三)


好久沒來了,今天有時間來分享一下httpRunnerManager后續學習,異步執行、定時任務、發送測試報告。直接上干貨。

繼httpRunnerManager學習二后,想要異步執行要安裝rabbitMQ 同樣我們下載docker鏡像 :

#docker pull rabbitmq:3.8.0-management

啟動容器:

#docker run -d --name rabbitmq3.8 -p 5672:5672 -p 15672:15672 -v $PWD/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456 rabbitmq:3.8.0-management

-d 后台運行

--name  指定容器名

-p 指定服務運行的端口(5672:應用訪問端口,15672控制台web端口)

-v 映射目錄或文件

--hostname 主機名 

-e指定環境變量:RABBITMQ_DEFAULT_USER 用戶名

        RABBITMQ_DEFAULT_PASS 密碼

啟動完畢:可通過http://服務器ip:15672打開,(前提開放訪問端口)賬號密碼啟動容器有設置,可登錄說明rabbitMQ安裝成功。

踩坑(我虛擬機linux安裝,不知為何掛后台啟動掛掉了。可通過docker ps 查看正在運行的docker容器,通過docker ps -a 查看全部容器通過 docker restart 容器id 重啟容器就好了。)

下一步,修改 httpRunnerManager 中setting.py文件中的信息,找到 :

BROKER_URL = 'amqp://admin:123456@127.0.0.1:5672//‘修改地址為自己服務器地址,這樣rabbitMQ就與httpRunnerManager 關聯起來了。

下一步回到上級目錄(manage.py所在的目錄)啟動worker

#nohup python3 manage.py celery -A HttpRunnerManager worker --loglevel=info > worker.out 2>&1 &

(后台運行 worker 日志存放:worker.out   查看日志:tail -f worker.out)

啟動worker后就可異步執行。(如果沒有,kill -9 進程號 關閉httpRunnerManager進程再重新后台運行)

 

 異步執行搞定。

下面繼續,定時任務

啟動 celery 監聽定時任務

#nohup python3 manage.py celery beat --loglevel=info > celery.out 2>&1 &

(后台運行 celery beat 日志存放:celery.out   查看日志:tail -f celery.out)

添加定時任務

 

 >minute:分鍾 可以是0-59任意整數

 >hour:小時,可以是0-23任意整數

 >day:日期,可以是0-31任意整數

 >month:月份,可以是1-12任意整數

 >week:星期 可以0-7任意整數 0,7表示周日

 */1 * * * *    (*之間有空格*)   這句話表示每分鍾執行一次

執行效果

 

 下面繼續發送郵件

編輯 HttpRunnerManager 文件下的setting.py文件 

找到

EMAIL_HOST = 'smtp.qq.com'
EMAIL_PORT = 465

我是QQ郵箱所以改成這樣。

EMAIL_SEND_USERNAME = '*****@qq.com' # 定時任務報告發送郵箱,支持163,qq,sina,企業qq郵箱等,注意需要開通smtp服務
EMAIL_SEND_PASSWORD = '*******' # 郵箱密碼

修改填寫自己的郵箱、和密碼(密碼是授權碼,在郵箱-設置-賬戶中申請)

 

 填寫完成后保存退出。

關閉與HttpRunnerManager相關的進程,重新后台運行。

下面在定時任務中填寫接收人郵箱進行測試:

 

 測試結果:

 

 

 

 ok,記錄完畢。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM