国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python-模塊和包.深入Celery之任務綁定/記錄日志/自動重試

2019-11-08 01:54:32
字體:
來源:轉載
供稿:網友

異常處理:

1. 當裝飾器@app.task添加bind=True時,被修飾的函數第一個參數被作為任務對象,通過self可獲取任務的上下文,get_task_logger其實是調用的進線程安全的logging模塊,用于終端打印調試.


12345678910111213141516171819202122232425262728#!/usr/bin/env python# -*- coding: utf-8 -*-# @Date    : 2016-12-24 17:07:50# @Author  : 李滿滿 (xmdevops@vip.QQ.com)# @Link    : http://xmdevops.blog.51cto.com/# @Version : $Id$from __future__ import absolute_import# 說明: 導入公共模塊import socketfrom celery.utils.log import get_task_logger# 說明: 導入其它模塊from ..app import applogger = get_task_logger(__name__)@app.task(bind=True)def send_mail(self, usr, sub, msg):    logger.info(        '''        task_id    : {0.id}        task_args  : {0.args!r}        task_kwargs: {0.kwargs!r}        '''.format(self.request)    )    try:        raise socket.error    except socket.error, e:        self.retry(exc=e, countdown=5, max_retries=3)    finally:        pass

說明: 錯誤處理主要是為了重試一些由于網絡抖動等原因導致的任務失敗,推薦將每個可重試的任務添加一個重試時間和最大重試次數,其實既可以在self.retry中指定,也可在@app.task修飾器中添加.

注意: 運行時可以celery worker -A work.app -l info,然后打開另一個終端嘗試from work.notify.email import send_mail;send_mail.delay('usr', 'sub', 'msg')觸發任務,觀察日志.

登錄樂搏學院官網http://www.learnbo.com/

或關注我們的官方微博微信,還有更多驚喜哦~

本文出自 “滿滿李 - 運維開發之路” 博客,請務必保留此出處http://xmdevops.blog.51cto.com/11144840/1887499

本文出自 “滿滿李 - 運維開發之路” 博客,請務必保留此出處http://xmdevops.blog.51cto.com/11144840/1887499
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 苏州市| 白山市| 磐石市| 盘锦市| 大丰市| 三门峡市| 洪雅县| 澄江县| 富裕县| 乌鲁木齐市| 苍溪县| 肇州县| 连平县| 易门县| 乌拉特中旗| 邻水| 普洱| 湘西| 手游| 河北省| 云梦县| 珲春市| 东光县| 广丰县| 佛坪县| 眉山市| 雷波县| 故城县| 抚宁县| 宁德市| 屯门区| 铜鼓县| 马边| 刚察县| 文成县| 黔西| 勐海县| 长泰县| 宜宾市| 西吉县| 铜鼓县|