Update: (步骤备份)完善系统监控
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
import time
|
||||
|
||||
cache_dict = {}
|
||||
|
||||
|
||||
def cache_set_internal(key, value, expired=5):
|
||||
"""
|
||||
程序内部实现的记录缓存,用于简单、体量不大的缓存记录,在程序结束后销毁。对于高速、体量大的环境请配置 Redis 等服务自行记录。
|
||||
记录缓存,存储键值对,并记录当前时间作为缓存的时间戳。
|
||||
|
||||
:param key: 键
|
||||
:param value: 值
|
||||
:param expired: 过期时间(秒),默认5秒
|
||||
"""
|
||||
cache_dict[key] = {
|
||||
'value': value,
|
||||
'expired_time': time.time() + expired
|
||||
}
|
||||
|
||||
|
||||
def cache_get_internal(key):
|
||||
"""
|
||||
获取缓存,根据键从缓存中获取值,并检查是否过期。
|
||||
|
||||
:param key: 键
|
||||
:return: 如果缓存存在且未过期,返回缓存的值;否则返回 None
|
||||
"""
|
||||
if key in cache_dict:
|
||||
cache_item = cache_dict[key]
|
||||
if time.time() < cache_item['expired_time']:
|
||||
return cache_item['value']
|
||||
else:
|
||||
# 如果缓存已过期,删除该缓存
|
||||
del cache_dict[key]
|
||||
return None
|
||||
|
||||
|
||||
def cache_auto_internal(key, call, expired=5):
|
||||
"""
|
||||
如果缓存存在直接返回缓存内容,缓存不存在或者过期执行 call 函数,并取得返回值记录并返回。
|
||||
|
||||
:param key: 键
|
||||
:param call: 获取新值的地方
|
||||
:param expired: 过期时间(秒),默认5秒
|
||||
"""
|
||||
|
||||
data = cache_get_internal(key)
|
||||
|
||||
if data is not None:
|
||||
return data
|
||||
|
||||
data = call()
|
||||
cache_set_internal(key, data, expired)
|
||||
|
||||
return data
|
||||
|
||||
@@ -14,7 +14,7 @@ class vieCode:
|
||||
__inCurve = True # 是否画干扰线
|
||||
__inNoise = True # 是否画干扰点
|
||||
__type = 2 # 验证码类型 1、纯字母 2、数字字母混合
|
||||
__fontPatn = 'applications/common/utils/fonts/1.ttf' # 字体
|
||||
__fontPatn = 'applications/common/utils/fonts/captcha.ttf' # 字体
|
||||
|
||||
def GetCodeImage(self, size=80, length=4):
|
||||
'''获取验证码图片
|
||||
@@ -11,7 +11,7 @@ def str_escape(s):
|
||||
|
||||
|
||||
between = validators.between
|
||||
'''
|
||||
"""
|
||||
验证数字是否介于最小值和/或最大值之间。
|
||||
这将适用于任何类似的类型,如浮点数、小数和日期,而不仅仅是整数。
|
||||
between(value, min=None, max=None)
|
||||
@@ -35,10 +35,10 @@ between(value, min=None, max=None)
|
||||
... min=datetime(1999, 11, 11)
|
||||
... )
|
||||
True
|
||||
'''
|
||||
"""
|
||||
|
||||
domain = validators.domain
|
||||
'''
|
||||
"""
|
||||
返回给定值是否为有效域
|
||||
如果值是有效域名,则此函数返回 True ,否则返回 ValidationFailure
|
||||
domain(value)
|
||||
@@ -49,10 +49,10 @@ domain(value)
|
||||
|
||||
>>> domain('example.com/')
|
||||
ValidationFailure(func=domain, ...)
|
||||
'''
|
||||
"""
|
||||
|
||||
email = validators.email
|
||||
'''
|
||||
"""
|
||||
验证电子邮件地址。验证成功时返回 True ,验证失败时返回
|
||||
|
||||
>>> email('someone@example.com')
|
||||
@@ -60,10 +60,10 @@ email = validators.email
|
||||
|
||||
>>> email('bogus@@')
|
||||
ValidationFailure(func=email, ...)
|
||||
'''
|
||||
"""
|
||||
|
||||
iban = validators.iban
|
||||
'''
|
||||
"""
|
||||
返回给定值是否为有效的IBAN代码。
|
||||
如果值是有效的IBAN,则此函数返回 True ,否则返回 ValidationFailure 。
|
||||
|
||||
@@ -72,10 +72,10 @@ iban = validators.iban
|
||||
|
||||
>>> iban('123456')
|
||||
ValidationFailure(func=iban, ...)
|
||||
'''
|
||||
"""
|
||||
|
||||
ipv4 = validators.ipv4
|
||||
'''
|
||||
"""
|
||||
返回给定值是否为有效的IPv4地址。
|
||||
|
||||
>>> ipv4('123.0.0.7')
|
||||
@@ -83,20 +83,20 @@ ipv4 = validators.ipv4
|
||||
|
||||
>>> ipv4('900.80.70.11')
|
||||
ValidationFailure(func=ipv4, args={'value': '900.80.70.11'})
|
||||
'''
|
||||
"""
|
||||
|
||||
ipv6 = validators.ipv6
|
||||
'''
|
||||
"""
|
||||
返回给定值是否为有效的IP版本6地址。
|
||||
>>> ipv6('abcd:ef::42:1')
|
||||
True
|
||||
|
||||
>>> ipv6('abc.0.0.1')
|
||||
ValidationFailure(func=ipv6, args={'value': 'abc.0.0.1'})
|
||||
'''
|
||||
"""
|
||||
|
||||
length = validators.length
|
||||
'''
|
||||
"""
|
||||
返回给定字符串的长度是否在指定范围内。
|
||||
>>> length('something', min=2)
|
||||
True
|
||||
@@ -106,10 +106,10 @@ length = validators.length
|
||||
|
||||
>>> length('something', max=5)
|
||||
ValidationFailure(func=length, ...)
|
||||
'''
|
||||
"""
|
||||
|
||||
mac_address = validators.mac_address
|
||||
'''
|
||||
"""
|
||||
返回给定值是否为有效MAC地址。
|
||||
如果该值是有效的MAC地址,则此函数返回 True ,否则返回 ValidationFailure 。
|
||||
|
||||
@@ -118,10 +118,10 @@ mac_address = validators.mac_address
|
||||
|
||||
>>> mac_address('00:00:00:00:00')
|
||||
ValidationFailure(func=mac_address, args={'value': '00:00:00:00:00'})
|
||||
'''
|
||||
"""
|
||||
|
||||
slug = validators.slug
|
||||
'''
|
||||
"""
|
||||
验证给定值是否为有效的块。
|
||||
有效的短信息只能包含字母数字字符、连字符和下划线。
|
||||
>>> slug('my.slug')
|
||||
@@ -129,15 +129,15 @@ slug = validators.slug
|
||||
|
||||
>>> slug('my-slug-2134')
|
||||
True
|
||||
'''
|
||||
"""
|
||||
|
||||
#truthy = validators.truthy
|
||||
'''
|
||||
"""
|
||||
验证给定值不是错误值。
|
||||
'''
|
||||
"""
|
||||
|
||||
url = validators.url
|
||||
'''
|
||||
"""
|
||||
返回给定值是否为有效URL。
|
||||
如果值是有效URL,则此函数返回 True ,否则返回 ValidationFailure 。
|
||||
|
||||
@@ -152,10 +152,10 @@ url = validators.url
|
||||
|
||||
>>> url('http://10.0.0.1', public=True)
|
||||
ValidationFailure(func=url, ...)
|
||||
'''
|
||||
"""
|
||||
|
||||
uuid = validators.uuid
|
||||
'''
|
||||
"""
|
||||
返回给定值是否为有效UUID。
|
||||
如果值是有效的UUID,则此函数返回 True ,否则返回 ValidationFailure 。
|
||||
|
||||
@@ -164,7 +164,7 @@ uuid = validators.uuid
|
||||
|
||||
>>> uuid('2bc1c94f 0deb-43e9-92a1-4775189ec9f8')
|
||||
ValidationFailure(func=uuid, ...)
|
||||
'''
|
||||
"""
|
||||
|
||||
|
||||
@validator
|
||||
@@ -172,7 +172,7 @@ def even(value):
|
||||
return not (value % 2)
|
||||
|
||||
|
||||
'''
|
||||
"""
|
||||
一个装饰器,它使给定的函数验证器
|
||||
每当给定函数被调用并返回 False 值时,这个装饰器返回 ValidationFailure 对象。
|
||||
>>> @validator
|
||||
@@ -184,4 +184,4 @@ True
|
||||
|
||||
>>> even(5)
|
||||
ValidationFailure(func=even, args={'value': 5})
|
||||
'''
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user