Riy777 commited on
Commit
c10d7f8
·
1 Parent(s): ea4a871

Update data_manager.py

Browse files
Files changed (1) hide show
  1. data_manager.py +8 -4
data_manager.py CHANGED
@@ -168,6 +168,7 @@ class DataManager:
168
  return prices
169
 
170
  except Exception as e:
 
171
  return {'bitcoin': None, 'ethereum': None}
172
 
173
  async def _get_prices_from_coingecko(self):
@@ -176,7 +177,6 @@ class DataManager:
176
  await asyncio.sleep(0.5)
177
  url = "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin,ethereum&vs_currencies=usd"
178
 
179
- # إضافة headers لتجنب rate limiting
180
  headers = {
181
  'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
182
  'Accept': 'application/json'
@@ -201,6 +201,7 @@ class DataManager:
201
  return {'bitcoin': None, 'ethereum': None}
202
 
203
  except Exception as e:
 
204
  return {'bitcoin': None, 'ethereum': None}
205
 
206
  def _get_minimal_market_context(self):
@@ -302,6 +303,7 @@ class DataManager:
302
  return volume_data
303
 
304
  except Exception as e:
 
305
  return []
306
 
307
  async def _get_volume_data_direct_api(self) -> List[Dict[str, Any]]:
@@ -349,6 +351,7 @@ class DataManager:
349
  return volume_data
350
 
351
  except Exception as e:
 
352
  return []
353
 
354
  async def _get_volume_data_traditional(self) -> List[Dict[str, Any]]:
@@ -385,6 +388,7 @@ class DataManager:
385
  return volume_data
386
 
387
  except Exception as e:
 
388
  return []
389
 
390
  async def _process_single_symbol(self, symbol: str) -> Dict[str, Any]:
@@ -593,7 +597,7 @@ class DataManager:
593
  print(f"📊 جلب بيانات OHLCV كاملة لـ {len(symbols)} عملة بشكل متوازي...")
594
 
595
  # تقسيم الرموز إلى دفعات لتجنب rate limits
596
- batch_size = 15 # العودة إلى الحجم الأصلي
597
  batches = [symbols[i:i + batch_size] for i in range(0, len(symbols), batch_size)]
598
 
599
  all_results = []
@@ -629,7 +633,7 @@ class DataManager:
629
 
630
  # انتظار قصير بين الدفعات لتجنب rate limits
631
  if batch_num < len(batches) - 1:
632
- await asyncio.sleep(1) # العودة إلى الوقت الأصلي
633
 
634
  print(f"✅ تم تجميع بيانات OHLCV كاملة لـ {len(all_results)} عملة من أصل {len(symbols)}")
635
  return all_results
@@ -813,4 +817,4 @@ class DataManager:
813
  'source': 'whale_analysis'
814
  }
815
 
816
- print("✅ DataManager loaded - Fixed get_latest_price_async & Restored Original Logic")
 
168
  return prices
169
 
170
  except Exception as e:
171
+ print(f"⚠️ فشل جلب الأسعار من KuCoin: {e}")
172
  return {'bitcoin': None, 'ethereum': None}
173
 
174
  async def _get_prices_from_coingecko(self):
 
177
  await asyncio.sleep(0.5)
178
  url = "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin,ethereum&vs_currencies=usd"
179
 
 
180
  headers = {
181
  'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
182
  'Accept': 'application/json'
 
201
  return {'bitcoin': None, 'ethereum': None}
202
 
203
  except Exception as e:
204
+ print(f"⚠️ فشل جلب الأسعار من CoinGecko: {e}")
205
  return {'bitcoin': None, 'ethereum': None}
206
 
207
  def _get_minimal_market_context(self):
 
303
  return volume_data
304
 
305
  except Exception as e:
306
+ print(f"❌ خطأ في جلب بيانات الحجم المثلى: {e}")
307
  return []
308
 
309
  async def _get_volume_data_direct_api(self) -> List[Dict[str, Any]]:
 
351
  return volume_data
352
 
353
  except Exception as e:
354
+ print(f"❌ خطأ في جلب بيانات الحجم المباشر: {e}")
355
  return []
356
 
357
  async def _get_volume_data_traditional(self) -> List[Dict[str, Any]]:
 
388
  return volume_data
389
 
390
  except Exception as e:
391
+ print(f"❌ خطأ في جلب بيانات الحجم التقليدية: {e}")
392
  return []
393
 
394
  async def _process_single_symbol(self, symbol: str) -> Dict[str, Any]:
 
597
  print(f"📊 جلب بيانات OHLCV كاملة لـ {len(symbols)} عملة بشكل متوازي...")
598
 
599
  # تقسيم الرموز إلى دفعات لتجنب rate limits
600
+ batch_size = 15 # تقليل حجم الدفعة لتحسين الاستقرار
601
  batches = [symbols[i:i + batch_size] for i in range(0, len(symbols), batch_size)]
602
 
603
  all_results = []
 
633
 
634
  # انتظار قصير بين الدفعات لتجنب rate limits
635
  if batch_num < len(batches) - 1:
636
+ await asyncio.sleep(1) # زيادة وقت الانتظار
637
 
638
  print(f"✅ تم تجميع بيانات OHLCV كاملة لـ {len(all_results)} عملة من أصل {len(symbols)}")
639
  return all_results
 
817
  'source': 'whale_analysis'
818
  }
819
 
820
+ print("✅ DataManager loaded - Fixed get_latest_price_async Function")