Update app.py
Browse files
app.py
CHANGED
@@ -107,48 +107,45 @@ def load_keys():
|
|
107 |
然后记录到日志中。
|
108 |
使用线程池并发处理每个 key。
|
109 |
"""
|
110 |
-
if keys_str:
|
111 |
-
keys = [key.strip() for key in keys_str.split(',')]
|
112 |
-
unique_keys = list(set(keys))
|
113 |
-
keys_str = ','.join(unique_keys)
|
114 |
-
os.environ["KEYS"] = keys_str
|
115 |
-
|
116 |
-
logging.info(f"加载的 keys:{unique_keys}")
|
117 |
-
|
118 |
-
with concurrent.futures.ThreadPoolExecutor(
|
119 |
-
max_workers=1000
|
120 |
-
) as executor:
|
121 |
-
future_to_key = {
|
122 |
-
executor.submit(
|
123 |
-
process_key, key, test_model
|
124 |
-
): key for key in unique_keys
|
125 |
-
}
|
126 |
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
future_to_key
|
132 |
-
):
|
133 |
-
key = future_to_key[future]
|
134 |
-
try:
|
135 |
-
key_type = future.result()
|
136 |
-
if key_type == "invalid":
|
137 |
-
invalid_keys.append(key)
|
138 |
-
elif key_type == "valid":
|
139 |
-
valid_keys.append(key)
|
140 |
-
except Exception as exc:
|
141 |
-
logging.error(f"处理 KEY {key} 生成异常: {exc}")
|
142 |
-
|
143 |
-
logging.info(f"无效 KEY:{invalid_keys}")
|
144 |
-
logging.info(f"有效 KEY:{valid_keys}")
|
145 |
-
|
146 |
-
global invalid_keys_global, valid_keys_global
|
147 |
-
invalid_keys_global = invalid_keys
|
148 |
-
valid_keys_global = valid_keys
|
149 |
|
150 |
-
|
151 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
152 |
|
153 |
def process_key(key, test_model):
|
154 |
"""
|
|
|
107 |
然后记录到日志中。
|
108 |
使用线程池并发处理每个 key。
|
109 |
"""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
|
111 |
+
keys = [key.strip() for key in keys_str.split(',')]
|
112 |
+
unique_keys = list(set(keys))
|
113 |
+
keys_str = ','.join(unique_keys)
|
114 |
+
os.environ["KEYS"] = keys_str
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
|
116 |
+
logging.info(f"加载的 keys:{unique_keys}")
|
117 |
+
|
118 |
+
with concurrent.futures.ThreadPoolExecutor(
|
119 |
+
max_workers=1000
|
120 |
+
) as executor:
|
121 |
+
future_to_key = {
|
122 |
+
executor.submit(
|
123 |
+
process_key, key, test_model
|
124 |
+
): key for key in unique_keys
|
125 |
+
}
|
126 |
+
|
127 |
+
invalid_keys = []
|
128 |
+
valid_keys = []
|
129 |
+
|
130 |
+
for future in concurrent.futures.as_completed(
|
131 |
+
future_to_key
|
132 |
+
):
|
133 |
+
key = future_to_key[future]
|
134 |
+
try:
|
135 |
+
key_type = future.result()
|
136 |
+
if key_type == "invalid":
|
137 |
+
invalid_keys.append(key)
|
138 |
+
elif key_type == "valid":
|
139 |
+
valid_keys.append(key)
|
140 |
+
except Exception as exc:
|
141 |
+
logging.error(f"处理 KEY {key} 生成异常: {exc}")
|
142 |
+
|
143 |
+
logging.info(f"无效 KEY:{invalid_keys}")
|
144 |
+
logging.info(f"有效 KEY:{valid_keys}")
|
145 |
+
|
146 |
+
global invalid_keys_global, valid_keys_global
|
147 |
+
invalid_keys_global = invalid_keys
|
148 |
+
valid_keys_global = valid_keys
|
149 |
|
150 |
def process_key(key, test_model):
|
151 |
"""
|