import dao import sys import proxy import w_token from concurrent.futures import ThreadPoolExecutor, as_completed def task(aid, username, password): # proxy_host = proxy.get_proxy() # t = w_token.get_token(username, password, proxy_host[0], proxy_host[1]) t = w_token.get_token(username, password, None, None) return [aid, username, t] def main(): print("输入演出num") num = input() r = dao.get_apply(num) if not r: print("演出不存在") sys.exit() print("演出信息确认:") print(r[0][2], r[0][3]) t = input("是否确认?(Y/N):") if t == "N" or t == "n": sys.exit() print("请确认人员名单:") u = dao.get_apply_user(r[0][0]) if not u: print("人员不存在") sys.exit() print("weverse账号 区号 手机号") for row in u: print(row[1] + " " + row[2] + " " + row[3]) t = input("是否确认?(Y/N):") if t == "N" or t == "n": sys.exit() with ThreadPoolExecutor(max_workers=5) as executor: # 提交多个任务给线程池 futures = [executor.submit(task, row[0], row[1], row[4]) for row in u] # 等待所有任务完成并获取结果 for future in as_completed(futures): result = future.result() if not result[2]: print("applyId:【%s】,username:【%s】获取失败" % (result[0], result[1])) continue dao.update_token(result[0], result[2]) print("applyId:【%s】,username:【%s】获取成功!!!" % (result[0], result[1])) if __name__ == "__main__": main()