国产探花免费观看_亚洲丰满少妇自慰呻吟_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
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灯塔市| 嘉定区| 连南| 怀宁县| 浪卡子县| 潢川县| 盱眙县| 河北省| 曲麻莱县| 横峰县| 贵定县| 札达县| 东宁县| 天峻县| 界首市| 奉新县| 毕节市| 岳普湖县| 都昌县| 吉林省| 花莲市| 沛县| 苍溪县| 宜兴市| 桂平市| 安平县| 江源县| 始兴县| 新河县| 当涂县| 水城县| 高州市| 泰和县| 中山市| 遂宁市| 深州市| 探索| 凤台县| 崇仁县| 泾阳县| 囊谦县|