Update app.py
Browse files
app.py
CHANGED
|
@@ -461,7 +461,7 @@ def place_market_order(ssl_sock, account_id, symbol_id, trade_side, volume, posi
|
|
| 461 |
|
| 462 |
# Rate-limit guard: track last refresh attempt to avoid hammering the API
|
| 463 |
_last_refresh_attempt = 0
|
| 464 |
-
REFRESH_COOLDOWN =
|
| 465 |
|
| 466 |
# Helper: Refresh tokens and return active ones
|
| 467 |
def get_valid_tokens():
|
|
@@ -939,8 +939,14 @@ async def callback(request: Request, code: str = None):
|
|
| 939 |
# Log to assist copy-pasting for persistent secrets
|
| 940 |
logger.info("=" * 60)
|
| 941 |
logger.info(f"AUTHORIZED SUCCESSFULLY!")
|
|
|
|
| 942 |
logger.info(f"Your CTRADER_REFRESH_TOKEN is: {res_data['refreshToken']}")
|
| 943 |
logger.info(f"Target Account ID: {tokens.get('account_id', 'NOT FOUND - set CTRADER_ACCOUNT_ID env var')}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 944 |
logger.info("=" * 60)
|
| 945 |
|
| 946 |
return RedirectResponse("/")
|
|
|
|
| 461 |
|
| 462 |
# Rate-limit guard: track last refresh attempt to avoid hammering the API
|
| 463 |
_last_refresh_attempt = 0
|
| 464 |
+
REFRESH_COOLDOWN = 3600 # seconds between refresh attempts (1 hour — prevents 429 on cloud IPs)
|
| 465 |
|
| 466 |
# Helper: Refresh tokens and return active ones
|
| 467 |
def get_valid_tokens():
|
|
|
|
| 939 |
# Log to assist copy-pasting for persistent secrets
|
| 940 |
logger.info("=" * 60)
|
| 941 |
logger.info(f"AUTHORIZED SUCCESSFULLY!")
|
| 942 |
+
logger.info(f"Your CTRADER_ACCESS_TOKEN is: {res_data['accessToken']}")
|
| 943 |
logger.info(f"Your CTRADER_REFRESH_TOKEN is: {res_data['refreshToken']}")
|
| 944 |
logger.info(f"Target Account ID: {tokens.get('account_id', 'NOT FOUND - set CTRADER_ACCOUNT_ID env var')}")
|
| 945 |
+
logger.info(f"")
|
| 946 |
+
logger.info(f">>> Save these 3 values as HF Secrets to persist across restarts:")
|
| 947 |
+
logger.info(f" CTRADER_ACCESS_TOKEN = {res_data['accessToken']}")
|
| 948 |
+
logger.info(f" CTRADER_REFRESH_TOKEN = {res_data['refreshToken']}")
|
| 949 |
+
logger.info(f" CTRADER_ACCOUNT_ID = {tokens.get('account_id', '')}")
|
| 950 |
logger.info("=" * 60)
|
| 951 |
|
| 952 |
return RedirectResponse("/")
|