mdbq 4.0.116__tar.gz → 4.0.118__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.
Potentially problematic release.
This version of mdbq might be problematic. Click here for more details.
- {mdbq-4.0.116 → mdbq-4.0.118}/PKG-INFO +2 -2
- mdbq-4.0.118/mdbq/__version__.py +1 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/js/jc.py +4 -4
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/redis/redis_cache.py +14 -6
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/route/monitor.py +18 -5
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq.egg-info/PKG-INFO +2 -2
- mdbq-4.0.116/mdbq/__version__.py +0 -1
- {mdbq-4.0.116 → mdbq-4.0.118}/README.txt +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/__init__.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/auth/__init__.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/auth/auth_backend.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/auth/rate_limiter.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/js/__init__.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/log/__init__.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/log/mylogger.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/myconf/__init__.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/myconf/myconf.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/mysql/__init__.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/mysql/deduplicator.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/mysql/mysql.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/mysql/s_query.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/mysql/unique_.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/mysql/uploader.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/other/__init__.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/other/download_sku_picture.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/other/error_handler.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/other/otk.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/other/pov_city.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/other/ua_sj.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/pbix/__init__.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/pbix/pbix_refresh.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/pbix/refresh_all.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/redis/__init__.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/redis/getredis.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/route/__init__.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/route/analytics.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/route/routes.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/selenium/__init__.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/selenium/get_driver.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq/spider/__init__.py +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq.egg-info/SOURCES.txt +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq.egg-info/dependency_links.txt +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/mdbq.egg-info/top_level.txt +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/setup.cfg +0 -0
- {mdbq-4.0.116 → mdbq-4.0.118}/setup.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
VERSION = '4.0.118'
|
|
@@ -297,9 +297,9 @@ def main():
|
|
|
297
297
|
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
298
298
|
epilog="""
|
|
299
299
|
使用示例:
|
|
300
|
-
python
|
|
301
|
-
python
|
|
302
|
-
python
|
|
300
|
+
python jc.py -i ./js
|
|
301
|
+
python jc.py -i ./ -o ./dist
|
|
302
|
+
python jc.py -i ./src --install
|
|
303
303
|
"""
|
|
304
304
|
)
|
|
305
305
|
|
|
@@ -360,7 +360,7 @@ def main():
|
|
|
360
360
|
try:
|
|
361
361
|
# 检查工具可用性
|
|
362
362
|
if not obfuscator.check_tools():
|
|
363
|
-
print("\n💡 尝试运行: python
|
|
363
|
+
print("\n💡 尝试运行: python jc.py --install")
|
|
364
364
|
return
|
|
365
365
|
|
|
366
366
|
# 开始处理
|
|
@@ -678,7 +678,7 @@ class SmartCacheSystem:
|
|
|
678
678
|
r'.*table.*|.*column.*|.*field.*': 1200, # 20分钟
|
|
679
679
|
|
|
680
680
|
# 数据查询相关 - 变化频率中等,TTL中等
|
|
681
|
-
r'.*data.*|.*query.*|.*result.*':
|
|
681
|
+
r'.*data.*|.*query.*|.*result.*': 600, # 10分钟
|
|
682
682
|
|
|
683
683
|
# 用户会话相关 - 变化频率高,TTL较短
|
|
684
684
|
r'.*session.*|.*user.*|.*auth.*': 900, # 15分钟
|
|
@@ -687,7 +687,7 @@ class SmartCacheSystem:
|
|
|
687
687
|
r'.*config.*|.*setting.*|.*param.*': 3600, # 1小时
|
|
688
688
|
|
|
689
689
|
# 统计相关 - 变化频率中等,TTL中等
|
|
690
|
-
r'.*stats.*|.*metric.*|.*count.*':
|
|
690
|
+
r'.*stats.*|.*metric.*|.*count.*': 720, # 12分钟
|
|
691
691
|
|
|
692
692
|
# 缓存相关 - 变化频率高,TTL较短
|
|
693
693
|
r'.*cache.*|.*temp.*|.*tmp.*': 180, # 3分钟
|
|
@@ -723,12 +723,20 @@ class SmartCacheSystem:
|
|
|
723
723
|
# 3. 基于数据大小的调整
|
|
724
724
|
size_factor = 1.0
|
|
725
725
|
if data_size > 0:
|
|
726
|
-
if data_size > 1024 * 1024: # >
|
|
727
|
-
size_factor =
|
|
726
|
+
if data_size > 100 * 1024 * 1024: # > 100MB,延长TTL减少重建开销
|
|
727
|
+
size_factor = 10.0
|
|
728
|
+
elif data_size > 20 * 1024 * 1024: # > 20MB,延长TTL减少重建开销
|
|
729
|
+
size_factor = 8.0
|
|
730
|
+
elif data_size > 10 * 1024 * 1024: # > 10MB,延长TTL减少重建开销
|
|
731
|
+
size_factor = 6.0
|
|
732
|
+
elif data_size > 5 * 1024 * 1024: # > 5MB,延长TTL减少重建开销
|
|
733
|
+
size_factor = 4.0
|
|
734
|
+
elif data_size > 1024 * 1024: # > 1MB,延长TTL减少重建开销
|
|
735
|
+
size_factor = 3.0
|
|
728
736
|
elif data_size > 100 * 1024: # > 100KB
|
|
729
|
-
size_factor =
|
|
737
|
+
size_factor = 2.0
|
|
730
738
|
elif data_size < 1024: # < 1KB,缩短TTL减少内存占用
|
|
731
|
-
size_factor = 0
|
|
739
|
+
size_factor = 1.0
|
|
732
740
|
|
|
733
741
|
# 4. 计算基础TTL
|
|
734
742
|
base_ttl = self.config.default_ttl
|
|
@@ -17,10 +17,10 @@ import pymysql
|
|
|
17
17
|
import hashlib
|
|
18
18
|
import functools
|
|
19
19
|
from datetime import datetime, timedelta
|
|
20
|
-
from typing import Dict, Any
|
|
21
|
-
from urllib.parse import urlparse
|
|
22
|
-
from dbutils.pooled_db import PooledDB
|
|
23
|
-
from mdbq.myconf import myconf
|
|
20
|
+
from typing import Dict, Any
|
|
21
|
+
from urllib.parse import urlparse
|
|
22
|
+
from dbutils.pooled_db import PooledDB # type: ignore
|
|
23
|
+
from mdbq.myconf import myconf # type: ignore
|
|
24
24
|
from mdbq.log import mylogger
|
|
25
25
|
from flask import request, g
|
|
26
26
|
import re
|
|
@@ -754,7 +754,20 @@ class RouteMonitor:
|
|
|
754
754
|
process_time = round((end_time - start_time) * 1000, 3)
|
|
755
755
|
|
|
756
756
|
response_status = getattr(response, 'status_code', 200) if hasattr(response, 'status_code') else 200
|
|
757
|
-
|
|
757
|
+
|
|
758
|
+
# 🚀 兼容流式响应:检查是否为直通模式
|
|
759
|
+
response_size = 0
|
|
760
|
+
try:
|
|
761
|
+
if hasattr(response, 'direct_passthrough') and response.direct_passthrough:
|
|
762
|
+
# 流式响应模式,无法获取准确大小,使用估算值
|
|
763
|
+
response_size = -1 # 标记为流式响应
|
|
764
|
+
elif hasattr(response, 'get_data'):
|
|
765
|
+
response_size = len(str(response.get_data()))
|
|
766
|
+
else:
|
|
767
|
+
response_size = 0
|
|
768
|
+
except (RuntimeError, Exception):
|
|
769
|
+
# 如果获取数据失败(如直通模式),使用默认值
|
|
770
|
+
response_size = -1 # 标记为无法获取大小
|
|
758
771
|
|
|
759
772
|
response_data = {
|
|
760
773
|
'response_status': response_status,
|
mdbq-4.0.116/mdbq/__version__.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
VERSION = '4.0.116'
|
|
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
|