derrickx пре 1 година
родитељ
комит
16af6f47ab
2 измењених фајлова са 29 додато и 26 уклоњено
  1. 25 25
      app.py
  2. 4 1
      main.py

+ 25 - 25
app.py

@@ -727,30 +727,31 @@ def run_threading_login(account, password, url, single_proxy):
 
 
 def run_threading_order(max_threads, account_path, url):
-    try:
-        with open('accounts.txt', 'r') as accounts:
-            account_list = accounts.readlines()
+    while True:
+        try:
+            with open('accounts.txt', 'r') as accounts:
+                account_list = accounts.readlines()
 
-        threads = []
-        for account in account_list:
-            single_proxy, random_index = get_random_proxy_at_redis(100)
-            thread = threading.Thread(target=get_ticket_order,
-                                      args=(account, "panyue666", url, single_proxy))
-            threads.append(thread)
-            thread.start()
+            threads = []
+            for account in account_list:
+                single_proxy, random_index = get_random_proxy_at_redis(100)
+                thread = threading.Thread(target=get_ticket_order,
+                                          args=(account, "panyue666", url, single_proxy))
+                threads.append(thread)
+                thread.start()
 
-            # 如果当前线程数达到上限,等待有线程结束后再创建新线程
-            if len(threads) == max_threads:
-                for t in threads:
-                    t.join()
-                threads.clear()
+                # 如果当前线程数达到上限,等待有线程结束后再创建新线程
+                if len(threads) == max_threads:
+                    for t in threads:
+                        t.join()
+                    threads.clear()
 
-        # 等待所有线程执行完毕
-        for thread in threads:
-            thread.join()
+            # 等待所有线程执行完毕
+            for thread in threads:
+                thread.join()
 
-    except Exception as ex:
-        loggerKit.error(f'error: {traceback.format_exc()}, account:{account_path}')
+        except Exception as ex:
+            loggerKit.error(f'error: {traceback.format_exc()}, account:{account_path}')
 
 
 def run_daily_job(hour, minute):
@@ -776,7 +777,7 @@ def run_daily_job(hour, minute):
 """
 
 
-def run_manual_job(hour, minute, pocket_url):
+def run_manual_job(hour, minute, thread_num, pocket_url):
     global event
     # 获取当前日期和时间
     now = datetime.datetime.now()
@@ -788,7 +789,7 @@ def run_manual_job(hour, minute, pocket_url):
     # 计算等待时间
     wait_time = (run_time - now).total_seconds()
     # 添加定时任务,并保存事件对象
-    event = scheduler.enter(wait_time, 1, manual_job, argument=(pocket_url,))
+    event = scheduler.enter(wait_time, 1, manual_job, argument=(thread_num, pocket_url,))
     # 启动定时器
     scheduler.run()
 
@@ -821,9 +822,8 @@ def looper_job():
 """
 
 
-def manual_job(pocket_url):
-    while 1:
-        process_running_manual(max_threads=1, pocket_url=pocket_url)
+def manual_job(thread_num, pocket_url):
+    process_running_manual(max_threads=thread_num, pocket_url=pocket_url)
 
 
 if __name__ == '__main__':

+ 4 - 1
main.py

@@ -221,8 +221,11 @@ class MainWindow(QMainWindow, Ui_menu):
 
             print(f"Hour: {hour}, Minute: {minute}, Second: {second}")
 
+            # 获取并发数
+            thread_num = self.concurrencyLineEdit.text()
+
             # 创建一个新的线程来运行 run_manual_job 函数
-            thread = threading.Thread(target=run_manual_job, args=(hour, minute, net_url))
+            thread = threading.Thread(target=run_manual_job, args=(hour, minute, thread_num, net_url))
             thread.start()
         else:
             QMessageBox.warning(self, '警告', '请输入URL')