简介:Tenacity是一个通用的retry库,简化为任何任务加入重试的功能。 不懂这个库怎么用, 很简单,哦对了,可能还需要你知道装饰器就是那个@啦就够了,上菜! import tenacity import requests # 直接加上retry装饰器,代码抛出异常会一直重试,直到代码运行成功 ...
分类:
其他好文 时间:
2020-06-15 17:25:19
阅读次数:
51
import functools import time # 最大重试次数/重试间隔 def retry(stop_max_attempt_number=10, wait_fixed=2): def decorator(func): @functools.wraps(func) def wrappe ...
分类:
编程语言 时间:
2020-06-15 11:48:08
阅读次数:
62
一、闭包 闭包从形式上来说是在外部函数中定义内部函数,并且内部函数引用了外部函数的变量,此变量叫做自由变量。 或者说是将组成函数的语句和这些语句的执行环境打包在一起。 闭包满足的条件: 必须有一个内嵌函数 内嵌函数必须使用外部函数的变量 外部函数的返回值必须是内嵌函数 def closure(): ...
分类:
编程语言 时间:
2020-06-14 20:25:45
阅读次数:
68
Hashtable: Hashtable存储键值对,key、value都是object类型 Hashtable是线程安全的,线程安全实现方式:Hashtable类中有个类SyncHashtable ,封装Hashtable实例,SyncHashtable就是一个装饰器,内部使用lock保证线程安全 ...
分类:
其他好文 时间:
2020-06-14 19:01:22
阅读次数:
57
昨日回顾: 1 什么是celery:执行异步任务,和定时任务 -架构 -broker:消息中间人,redis,rabbitmq -worker:执行者(开多个) -backend:结果存储,redis -异步任务: 提交任务到broker中: -函数.delay(参数) -函数.apply_asyn ...
分类:
其他好文 时间:
2020-06-14 12:44:03
阅读次数:
62
前沿:本次分享主要是基于类的视图 一、什么是视图函数? 简单来说,被url装饰的==>后面处理逻辑的方法就是视图函数,一般制作三件事,接收请求参数,数据处理逻辑、狗仔响应对象对并返回 一般来说视图函数内的逻辑不应该过长,具体逻辑在另外的模块去封装,等封装的尽量尽快封装,不要等以后,以后重构的话更麻烦 ...
分类:
其他好文 时间:
2020-06-12 10:56:55
阅读次数:
40
@api.depends 这个装饰器主要运用在odoo的字段相关的函数中。在函数中,对该字段值进行处理时,如果计算值依赖于其他相关字段,不论是与该字段隶属同一张表的还是其他表的字段,都会触发所编写的字段函数。正因为此,可以利用@api.depends 装饰来侦测与字段相关的其他表的字段。如果deco ...
装饰器 十分相似的三个函数 # 广点通 filehome=greenspan_file_name fileall=os.listdir(filehome) select_col= ['ftime','advertiser_id','agent_id','industry_name_level1', ...
分类:
其他好文 时间:
2020-06-11 13:23:29
阅读次数:
46
手写一个完整的装饰器模版 # 用于修复被装饰对象的名称空间 from functools import wrape def wrapper(func): @wraps(func) def inner(*args, **kwargs): # func执行之前的操作 res = func(*args, ...
分类:
编程语言 时间:
2020-06-11 01:02:52
阅读次数:
58
一、什么是装饰器 现在有一个需求,年终考核的时候需要测试某个函数的执行效率,我们怎么做呢?比如这个函数叫func。 对于绝大多数人来说,第一印象肯定是如下的实现方法: import time def func(): start = time.time() time.sleep(1) # 模拟程序延迟 ...
分类:
编程语言 时间:
2020-06-11 00:25:31
阅读次数:
87