Skip to content

Commit a239a06

Browse files
author
RM
committed
Logging fix
1 parent 4bd6fe5 commit a239a06

2 files changed

Lines changed: 32 additions & 12 deletions

File tree

.github/workflows/deploy-chipnik-monitor-self-hosted.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
name: Deploy Chipnik Monitor API (Self-Hosted)
22

33
on:
4-
push:
5-
branches:
6-
- master
7-
paths:
8-
- "chipnik_monitor/**"
4+
# push:
5+
# branches:
6+
# - master
7+
# paths:
8+
# - "chipnik_monitor/**"
99
workflow_dispatch:
1010
workflow_call:
1111

chipnik_monitor/chipnik_monitor.py

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,13 @@
3636
handler = logging.StreamHandler()
3737
handler.setFormatter(logging.Formatter('%(levelname)s:%(name)s:%(message)s'))
3838
logger.addHandler(handler)
39-
logger.setLevel(logging.DEBUG)
39+
40+
_CLOUD_RUN_SERVICE = os.getenv('K_SERVICE') or os.getenv('GOOGLE_CLOUD_PROJECT')
41+
logger.setLevel(logging.ERROR if _CLOUD_RUN_SERVICE else logging.DEBUG)
42+
43+
def log_progress(message: str) -> None:
44+
level = logging.ERROR if _CLOUD_RUN_SERVICE else logging.INFO
45+
logger.log(level, message)
4046

4147
DEFAULT_CENTER_LON = -122.09261814845487
4248
DEFAULT_CENTER_LAT = 47.60464601773639
@@ -1130,9 +1136,16 @@ def fetch_weather_history(lat: float, lon: float, start_date: datetime, end_date
11301136
results.append(result)
11311137
except Exception:
11321138
logger.exception("NDVI worker failed for index %s", idx)
1133-
status_text.text(
1134-
f"Processing {completed}/{len(row_tuples)}: {df.iloc[idx]['datetime'].strftime('%Y-%m-%d')}"
1135-
)
1139+
scene_info = df.iloc[idx]
1140+
scene_id = scene_info.get('id') if hasattr(scene_info, 'get') else getattr(scene_info, 'id', None)
1141+
date_value = scene_info.get('datetime') if hasattr(scene_info, 'get') else getattr(scene_info, 'datetime', None)
1142+
date_label = date_value.strftime('%Y-%m-%d') if hasattr(date_value, 'strftime') else str(date_value)
1143+
message = f"Processing scene {completed}/{len(row_tuples)}"
1144+
if scene_id:
1145+
message += f" ({scene_id})"
1146+
message += f": {date_label}"
1147+
status_text.text(message)
1148+
log_progress(message)
11361149
progress_bar.progress(completed / len(row_tuples))
11371150
except Exception:
11381151
logger.exception("Parallel NDVI processing failed; falling back to sequential execution")
@@ -1142,9 +1155,16 @@ def fetch_weather_history(lat: float, lon: float, start_date: datetime, end_date
11421155
logger.info("Parallel NDVI returned no results; retrying sequential execution")
11431156
progress_bar.progress(0.0)
11441157
for idx, row in enumerate(row_tuples):
1145-
status_text.text(
1146-
f"Processing {idx + 1}/{len(row_tuples)}: {df.iloc[idx]['datetime'].strftime('%Y-%m-%d')}"
1147-
)
1158+
scene_info = df.iloc[idx]
1159+
scene_id = scene_info.get('id') if hasattr(scene_info, 'get') else getattr(scene_info, 'id', None)
1160+
date_value = scene_info.get('datetime') if hasattr(scene_info, 'get') else getattr(scene_info, 'datetime', None)
1161+
date_label = date_value.strftime('%Y-%m-%d') if hasattr(date_value, 'strftime') else str(date_value)
1162+
message = f"Processing scene {idx + 1}/{len(row_tuples)}"
1163+
if scene_id:
1164+
message += f" ({scene_id})"
1165+
message += f": {date_label}"
1166+
status_text.text(message)
1167+
log_progress(message)
11481168
result = worker(row)
11491169
if result:
11501170
results.append(result)

0 commit comments

Comments
 (0)