lesscode-py 0.3.137__tar.gz → 0.3.138__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/PKG-INFO +1 -1
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/utils/CacheUtil.py +2 -2
- lesscode-py-0.3.138/lesscode/utils/cache_utils.py +80 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/version.py +1 -1
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode_py.egg-info/PKG-INFO +1 -1
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode_py.egg-info/SOURCES.txt +1 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/README.md +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/base_connection_pool.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/base_sql_helper.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/clickhouse/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/clickhouse/clickhouse_helper.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/clickhouse/clickhouse_pool.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/condition_wrapper.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/connection_info.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/db_function.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/dm/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/dm/dm_helper.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/dm/dm_pool.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/ds_helper.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/elasticsearch/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/elasticsearch/elasticsearch_helper.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/elasticsearch/elasticsearch_pool.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/es/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/es/es_helper.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/es/es_pool.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/es/es_request.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/generic/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/generic/generic_helper.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/generic/generic_pool.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/init_connection_pool.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/mongodb/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/mongodb/base_model.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/mongodb/mongodb_helper.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/mongodb/mongodb_pool.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/mysql/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/mysql/mysql_helper.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/mysql/mysql_pool.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/nebula/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/nebula/nebula_helper.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/nebula/nebula_pool.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/neo4j/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/neo4j/neo4j_helper.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/neo4j/neo4j_pool.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/page.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/postgresql/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/postgresql/postgresql_helper.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/postgresql/postgresql_pool.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/redis/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/redis/redis_helper.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/redis/redis_pool.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/redis_cluster/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/redis_cluster/redis_cluster_helper.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/redis_cluster/redis_cluster_pool.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/relational_db_helper.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/sqlalchemy/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/sqlalchemy/sqlalchemy_helper.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/sqlalchemy/sqlalchemy_model_service.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/sqlalchemy/sqlalchemy_pool.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/extend_handlers/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/extend_handlers/doc/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/extend_handlers/doc/swagger_interface_doc_handler.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/extend_handlers/not_found_handler.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/mq/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/mq/kafka/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/mq/kafka/kafka_helper.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/mq/rabbitmq/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/mq/rabbitmq/rabbitmq_helper.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/sentry/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/sentry/sentry_monitor.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/task/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/task/job_info.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/task/task_helper.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/utils/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/utils/doc/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/utils/doc/interface_doc.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/utils/es_log/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/utils/es_log/record_log.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/utils/json.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/utils/oss/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/utils/oss/aliyun_oss.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/utils/oss/ks3_oss.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/utils/request.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/utils/upms_util.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/utils/wrapper.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/web/__init__.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/web/base_handler.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/web/base_server_send_event_handler.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/web/base_websocket_handler.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/web/business_exception.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/web/native_handler.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/web/response_result.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/web/router_mapping.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/web/status_code.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/web/web_server.py +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode_py.egg-info/dependency_links.txt +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode_py.egg-info/top_level.txt +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/setup.cfg +0 -0
- {lesscode-py-0.3.137 → lesscode-py-0.3.138}/setup.py +0 -0
|
@@ -94,7 +94,7 @@ def query_cache(cache_key, params=None, ex=3600 * 12, func=None, args=None, conn
|
|
|
94
94
|
value = json.loads(data)
|
|
95
95
|
return value
|
|
96
96
|
else:
|
|
97
|
-
logging.info("str_select_key为".format(cache_key))
|
|
97
|
+
logging.info("str_select_key为{}".format(cache_key))
|
|
98
98
|
return False
|
|
99
99
|
if options.global_cache_enable:
|
|
100
100
|
ttl = RedisHelper(conn_name).get_connection(sync=True).ttl(cache_key)
|
|
@@ -112,7 +112,7 @@ def query_cache(cache_key, params=None, ex=3600 * 12, func=None, args=None, conn
|
|
|
112
112
|
value = json.loads(data)
|
|
113
113
|
return value
|
|
114
114
|
else:
|
|
115
|
-
logging.info("str_select_key为".format(cache_key))
|
|
115
|
+
logging.info("str_select_key为{}".format(cache_key))
|
|
116
116
|
return False
|
|
117
117
|
return False
|
|
118
118
|
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import functools
|
|
2
|
+
import inspect
|
|
3
|
+
import json
|
|
4
|
+
import logging
|
|
5
|
+
import sys
|
|
6
|
+
import traceback
|
|
7
|
+
import uuid
|
|
8
|
+
|
|
9
|
+
from tornado.options import options
|
|
10
|
+
|
|
11
|
+
from lesscode.db.redis.redis_helper import RedisHelper
|
|
12
|
+
from lesscode.task.task_helper import TaskHelper
|
|
13
|
+
from lesscode.utils.json import JSONEncoder
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def SyncCache(func):
|
|
17
|
+
@functools.wraps(func)
|
|
18
|
+
def wrapper(*args, **kwargs):
|
|
19
|
+
try:
|
|
20
|
+
func_name, cache_key = get_cache_key(func, *args, **kwargs)
|
|
21
|
+
data = get_cache_value(cache_key)
|
|
22
|
+
if data is False:
|
|
23
|
+
data = func(*args, **kwargs)
|
|
24
|
+
if options.scheduler_config.get("enable"):
|
|
25
|
+
task_id = uuid.uuid1().hex
|
|
26
|
+
TaskHelper.add_job(func=update_cache, id=task_id, name="同步更新缓存任务",
|
|
27
|
+
kwargs={"cache_key": cache_key, "func": func, "args": args, "kwargs": kwargs})
|
|
28
|
+
return data
|
|
29
|
+
except Exception as e:
|
|
30
|
+
logging.exception(e)
|
|
31
|
+
data = func(*args, **kwargs)
|
|
32
|
+
return data
|
|
33
|
+
|
|
34
|
+
return wrapper
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def get_cache_key(func, *args, **kwargs):
|
|
38
|
+
signature = inspect.signature(func)
|
|
39
|
+
func_name = str(func).split(" ")[1]
|
|
40
|
+
param_values = []
|
|
41
|
+
for i in args:
|
|
42
|
+
param_values.append(str(i))
|
|
43
|
+
for k, v in signature.parameters.items():
|
|
44
|
+
_v = str(v)
|
|
45
|
+
if k in kwargs and k != "self":
|
|
46
|
+
param_values.append(str(kwargs[k]))
|
|
47
|
+
cache_key = "&".join(param_values)
|
|
48
|
+
cache_key = options.route_prefix + "#" + func_name + "#" + cache_key
|
|
49
|
+
return func_name, cache_key
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def get_cache_value(cache_key):
|
|
53
|
+
conn_name = options.cache_conn
|
|
54
|
+
if options.cache_enable:
|
|
55
|
+
data = RedisHelper(conn_name).sync_get(cache_key)
|
|
56
|
+
if data:
|
|
57
|
+
value = json.loads(data)
|
|
58
|
+
return value
|
|
59
|
+
else:
|
|
60
|
+
logging.info("cache_key没找到,cache_key={}".format(cache_key))
|
|
61
|
+
return False
|
|
62
|
+
else:
|
|
63
|
+
logging.info("缓存未开启".format(cache_key))
|
|
64
|
+
return False
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
def update_cache(cache_key, func, args, kwargs):
|
|
68
|
+
data = func(*args, **kwargs)
|
|
69
|
+
insert_or_update_cache(cache_key, data)
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
def insert_or_update_cache(cache_key, data):
|
|
73
|
+
conn_name = options.cache_conn
|
|
74
|
+
if sys.getsizeof(data) <= 512 * 1024:
|
|
75
|
+
if options.cache_enable:
|
|
76
|
+
try:
|
|
77
|
+
data_str = json.dumps(data, cls=JSONEncoder)
|
|
78
|
+
RedisHelper(conn_name).sync_set(cache_key, data_str)
|
|
79
|
+
except:
|
|
80
|
+
logging.error(traceback.format_exc())
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/elasticsearch/elasticsearch_helper.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/redis_cluster/redis_cluster_helper.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lesscode-py-0.3.137 → lesscode-py-0.3.138}/lesscode/db/sqlalchemy/sqlalchemy_model_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|