XiaoBai1221 commited on
Commit
774989b
·
verified ·
1 Parent(s): edcafcb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -3
app.py CHANGED
@@ -1115,13 +1115,31 @@ def send_message(recipient_id, message_text):
1115
  def process_messenger_video(video_url, sender_id):
1116
  """處理來自 Messenger 的影片(HuggingFace 整合版本)"""
1117
  import tempfile
 
1118
 
1119
  try:
1120
  print(f"🎬 開始處理 Messenger 影片:{video_url}")
1121
 
1122
- # 下載影片
1123
- response = requests.get(video_url, stream=True, timeout=30)
1124
- response.raise_for_status()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1125
 
1126
  # 使用臨時檔案避免權限問題
1127
  timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
 
1115
  def process_messenger_video(video_url, sender_id):
1116
  """處理來自 Messenger 的影片(HuggingFace 整合版本)"""
1117
  import tempfile
1118
+ import time
1119
 
1120
  try:
1121
  print(f"🎬 開始處理 Messenger 影片:{video_url}")
1122
 
1123
+ # 下載影片 - 增加重試邏輯
1124
+ max_retries = 3
1125
+ retry_delay = 2 # 初始延遲2秒
1126
+
1127
+ for attempt in range(max_retries):
1128
+ try:
1129
+ print(f"📥 嘗試下載影片 (嘗試 {attempt + 1}/{max_retries})")
1130
+ response = requests.get(video_url, stream=True, timeout=60) # 增加超時時間
1131
+ response.raise_for_status()
1132
+ break # 下載成功,跳出重試循環
1133
+ except requests.exceptions.RequestException as e:
1134
+ print(f"❌ 下載失敗 (嘗試 {attempt + 1}/{max_retries}): {e}")
1135
+ if attempt < max_retries - 1:
1136
+ print(f"⏳ 等待 {retry_delay} 秒後重試...")
1137
+ time.sleep(retry_delay)
1138
+ retry_delay *= 2 # 指數退避
1139
+ else:
1140
+ # 所有重試都失敗
1141
+ send_message(sender_id, "抱歉,下載影片時發生網路錯誤,請稍後再試。")
1142
+ return
1143
 
1144
  # 使用臨時檔案避免權限問題
1145
  timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")