MCPcopy Create free account
hub / github.com/smallfawn/QLScriptPublic / main

Function main

daily/sfsy.py:1109–1196  ·  view source on GitHub ↗

主函数

()

Source from the content-addressed store, hash-verified

1107
1108# ==================== 主程序 ====================
1109def main():
1110 """主函数"""
1111 config = Config()
1112
1113 env_value = os.getenv(config.ENV_NAME)
1114 if not env_value:
1115 print(f"❌ 未找到环境变量 {config.ENV_NAME},请检查配置")
1116 return
1117
1118 account_urls = [url.strip() for url in env_value.split('&') if url.strip()]
1119 if not account_urls:
1120 print(f"❌ 环境变量 {config.ENV_NAME} 为空或格式错误")
1121 return
1122
1123 # 随机打乱账号顺序
1124 random.shuffle(account_urls)
1125 print(f"🔀 已随机打乱账号执行顺序")
1126
1127 print("=" * 50)
1128 print(f"🎉 {config.APP_NAME} v{config.VERSION}")
1129 print(f"👨‍💻 作者: 爱学习的呆子")
1130 print(f"📱 共获取到 {len(account_urls)} 个账号")
1131 print(f"⚙️ 并发数量: {CONCURRENT_NUM}")
1132 print(f"⏰ 执行时间: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
1133 print("=" * 50)
1134
1135 # 收集所有账号的统计信息
1136 all_results = []
1137
1138 if CONCURRENT_NUM <= 1:
1139 # 串行执行模式
1140 print("🔄 使用串行模式执行...")
1141 for index, account_url in enumerate(account_urls):
1142 account = AccountManager(account_url, index, config)
1143 result = account.run()
1144 result['index'] = index
1145 all_results.append(result)
1146
1147 if index < len(account_urls) - 1:
1148 print("=" * 50)
1149 print(f"⏳ 等待 2 秒后执行下一个账号...")
1150 time.sleep(2)
1151 else:
1152 # 并发执行模式
1153 print(f"🔄 使用并发模式执行,并发数: {CONCURRENT_NUM}")
1154
1155 # 使用线程池执行
1156 with ThreadPoolExecutor(max_workers=CONCURRENT_NUM) as executor:
1157 # 提交所有任务
1158 future_to_index = {
1159 executor.submit(run_single_account, account_url, index, config): index
1160 for index, account_url in enumerate(account_urls)
1161 }
1162
1163 # 等待任务完成
1164 for future in as_completed(future_to_index):
1165 result = future.result()
1166 all_results.append(result)

Callers 1

sfsy.pyFile · 0.70

Calls 5

runMethod · 0.95
ConfigClass · 0.85
AccountManagerClass · 0.85
sleepMethod · 0.80
printFunction · 0.70

Tested by

no test coverage detected