Some checks are pending
Check Python Version Consistency / Check Python Version (push) Waiting to run
46 lines
1.6 KiB
Python
46 lines
1.6 KiB
Python
# agents/core-logic/heavy_predictor.py
|
|
|
|
from google.cloud import bigquery
|
|
|
|
# Configuration
|
|
BIGQUERY_PROJECT = "propane-will-491900-m5"
|
|
BIGQUERY_DATASET = "osvauco_logs"
|
|
BIGQUERY_TABLE = "cloud_run_logs"
|
|
TELEMETRY_CALLS_THRESHOLD = 500
|
|
|
|
def check_and_trigger_heavy_mode():
|
|
"""
|
|
Checks the number of telemetry calls and triggers heavy mode if the threshold is exceeded.
|
|
"""
|
|
try:
|
|
client = bigquery.Client(project=BIGQUERY_PROJECT)
|
|
table_id = f"{BIGQUERY_PROJECT}.{BIGQUERY_DATASET}.{BIGQUERY_TABLE}"
|
|
|
|
# 1. Query the number of telemetry calls from BigQuery
|
|
query = f"""
|
|
SELECT COUNT(*) as total_calls
|
|
FROM `{table_id}`
|
|
WHERE timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 24 HOUR)
|
|
"""
|
|
query_job = client.query(query)
|
|
results = query_job.result()
|
|
|
|
for row in results:
|
|
total_calls = row.total_calls
|
|
print(f"Total telemetry calls in the last 24 hours: {total_calls}")
|
|
|
|
# 2. Trigger heavy mode if the threshold is exceeded
|
|
if total_calls > TELEMETRY_CALLS_THRESHOLD:
|
|
print("Telemetry calls threshold exceeded. Triggering heavy mode.")
|
|
# Placeholder for logic to trigger heavy mode
|
|
# This could involve scaling up resources, switching to a more powerful model, etc.
|
|
pass
|
|
else:
|
|
print("Telemetry calls are within acceptable limits.")
|
|
|
|
except Exception as e:
|
|
print(f"An error occurred: {e}")
|
|
|
|
if __name__ == "__main__":
|
|
check_and_trigger_heavy_mode()
|