05/31 Phase 7: fixed fetch fx rate
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Cron script: fetch daily USD/VND exchange rate.
|
||||
Cron script: fetch daily USD/VND exchange rate via yfinance.
|
||||
Run by systemd timer pfm-fxrate.timer at 8AM daily.
|
||||
Always force-refreshes regardless of cache.
|
||||
"""
|
||||
|
||||
import sys
|
||||
@@ -9,17 +10,18 @@ import os
|
||||
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
|
||||
from app import create_app
|
||||
from app.services.fx_service import get_today_rate
|
||||
from app.services.fx_service import force_refresh
|
||||
|
||||
app = create_app()
|
||||
|
||||
if __name__ == '__main__':
|
||||
with app.app_context():
|
||||
result = get_today_rate()
|
||||
print('[fx_rate] Fetching fresh USD/VND rate...')
|
||||
result = force_refresh()
|
||||
if result:
|
||||
status = '(stale)' if result.get('is_stale') else ''
|
||||
print(f"[fx_rate] 1 USD = {result['rate']:,.0f} VND "
|
||||
f"[{result['source']}] {result['date']} {status}")
|
||||
status = '(stale fallback)' if result.get('is_stale') else ''
|
||||
print(f'[fx_rate] 1 USD = ₫{result["rate"]:,.0f} VND '
|
||||
f'[{result["source"]}] {result["date"]} {status}')
|
||||
else:
|
||||
print("[fx_rate] Failed to fetch rate.")
|
||||
print('[fx_rate] Failed to fetch rate from all sources.')
|
||||
sys.exit(1)
|
||||
|
||||
Reference in New Issue
Block a user