AI UPDATE
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
from config.celery import app
|
||||
|
||||
from .services import CARD_BUILDERS, build_dashboard_payload_with_cache
|
||||
|
||||
|
||||
@app.task(bind=True)
|
||||
def generate_dashboard_data_task(self, sensor_id: str) -> dict:
|
||||
total_cards = len(CARD_BUILDERS)
|
||||
self.update_state(
|
||||
state="PROGRESS",
|
||||
meta={
|
||||
"current": 0,
|
||||
"total": total_cards,
|
||||
"card": None,
|
||||
"message": "loading sensor context",
|
||||
},
|
||||
)
|
||||
payload = {}
|
||||
dashboard_payload = build_dashboard_payload_with_cache(sensor_id)
|
||||
|
||||
for index, card_name in enumerate(CARD_BUILDERS.keys(), start=1):
|
||||
self.update_state(
|
||||
state="PROGRESS",
|
||||
meta={
|
||||
"current": index,
|
||||
"total": total_cards,
|
||||
"card": card_name,
|
||||
"message": f"processing {card_name}",
|
||||
},
|
||||
)
|
||||
payload[card_name] = dashboard_payload.get(card_name, {})
|
||||
|
||||
return {
|
||||
"sensor_id": sensor_id,
|
||||
"all_cards": payload,
|
||||
}
|
||||
Reference in New Issue
Block a user