Upload main.py
Browse files
main.py
CHANGED
@@ -64,13 +64,15 @@ CATEGORIES = [
|
|
64 |
VALUES_RANGE = 'B6:P' # Range within each category sheet
|
65 |
|
66 |
# Cache Update Interval
|
67 |
-
CACHE_UPDATE_INTERVAL_SECONDS =
|
|
|
|
|
|
|
68 |
|
69 |
# Webhook URLs
|
70 |
SCAMMER_WEBHOOK_URL = os.getenv("SCAMMER_WEBHOOK_URL")
|
71 |
VALUE_WEBHOOK_URL = os.getenv("VALUE_WEBHOOK_URL")
|
72 |
-
|
73 |
-
DUPE_CHECK_WEBHOOK_URL = os.getenv("WEBHOOK_URL")
|
74 |
|
75 |
|
76 |
# --- Global Cache ---
|
@@ -573,16 +575,28 @@ async def update_cache_periodically():
|
|
573 |
scammer_dwc_ranges,
|
574 |
value_render_option='FORMATTED_VALUE'
|
575 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
576 |
"values_dupes_batch": fetch_batch_ranges_async(
|
577 |
VALUES_DUPE_SPREADSHEET_ID,
|
578 |
values_dupes_ranges,
|
579 |
value_render_option='FORMATTED_VALUE'
|
580 |
)
|
581 |
}
|
582 |
-
|
583 |
-
#
|
584 |
-
|
585 |
-
task_keys
|
|
|
586 |
|
587 |
# --- Process Results ---
|
588 |
raw_scammer_dwc_results = None
|
|
|
64 |
VALUES_RANGE = 'B6:P' # Range within each category sheet
|
65 |
|
66 |
# Cache Update Interval
|
67 |
+
CACHE_UPDATE_INTERVAL_SECONDS = 60
|
68 |
+
|
69 |
+
# Sheet Update Delay
|
70 |
+
SHEET_UPDATE_DELAY_SECONDS = 10 # 10 second delay between sheet updates
|
71 |
|
72 |
# Webhook URLs
|
73 |
SCAMMER_WEBHOOK_URL = os.getenv("SCAMMER_WEBHOOK_URL")
|
74 |
VALUE_WEBHOOK_URL = os.getenv("VALUE_WEBHOOK_URL")
|
75 |
+
DUPE_CHECK_WEBHOOK_URL = os.getenv("DUPE_CHECK_WEBHOOK_URL")
|
|
|
76 |
|
77 |
|
78 |
# --- Global Cache ---
|
|
|
575 |
scammer_dwc_ranges,
|
576 |
value_render_option='FORMATTED_VALUE'
|
577 |
),
|
578 |
+
}
|
579 |
+
|
580 |
+
# Execute scammer/dwc batch first
|
581 |
+
results = await asyncio.gather(*fetch_tasks.values(), return_exceptions=True)
|
582 |
+
task_keys = list(fetch_tasks.keys())
|
583 |
+
|
584 |
+
# Add delay between sheet updates
|
585 |
+
await asyncio.sleep(SHEET_UPDATE_DELAY_SECONDS)
|
586 |
+
|
587 |
+
# Now fetch values/dupes batch
|
588 |
+
fetch_tasks = {
|
589 |
"values_dupes_batch": fetch_batch_ranges_async(
|
590 |
VALUES_DUPE_SPREADSHEET_ID,
|
591 |
values_dupes_ranges,
|
592 |
value_render_option='FORMATTED_VALUE'
|
593 |
)
|
594 |
}
|
595 |
+
|
596 |
+
# Execute values/dupes batch
|
597 |
+
values_results = await asyncio.gather(*fetch_tasks.values(), return_exceptions=True)
|
598 |
+
task_keys.extend(list(fetch_tasks.keys()))
|
599 |
+
results.extend(values_results)
|
600 |
|
601 |
# --- Process Results ---
|
602 |
raw_scammer_dwc_results = None
|