trying to fix building of activities that fails because of OOM

This commit is contained in:
Davide Scaini
2026-04-15 09:30:22 +02:00
parent b01b00698c
commit 6890892654
3 changed files with 34 additions and 13 deletions
+2 -3
View File
@@ -654,7 +654,7 @@ async def admin_reextract_originals(
from bincio.extract.metrics import compute as compute_metrics
from bincio.extract.writer import (
build_summary, make_activity_id, write_activity,
write_index, write_athlete_json,
write_index,
)
from bincio.render.merge import merge_all
except Exception as exc:
@@ -714,10 +714,9 @@ async def admin_reextract_originals(
if imported > 0:
loop.call_soon_threadsafe(q.put_nowait,
f"data: {json.dumps({'type': 'status', 'message': 'Writing index and athlete data'})}\n\n")
f"data: {json.dumps({'type': 'status', 'message': 'Writing index…'})}\n\n")
try:
write_index(list(summaries.values()), user_dir, owner)
write_athlete_json(list(summaries.values()), user_dir, athlete_config)
loop.call_soon_threadsafe(q.put_nowait,
f"data: {json.dumps({'type': 'status', 'message': 'Running merge and rebuild…'})}\n\n")
merge_all(user_dir)
+10 -10
View File
@@ -234,13 +234,13 @@ graph LR
site_src_pages_about_it_index_astro --> site_src_layouts_Base_astro
site_src_pages_about_ca_index_astro --> site_src_layouts_Base_astro
site_src_pages_about_es_index_astro --> site_src_layouts_Base_astro
bincio_cli_py --> bincio_import__cli_py
bincio_cli_py --> bincio_extract_cli_py
bincio_cli_py --> bincio_dev_py
bincio_cli_py --> bincio_edit_cli_py
bincio_cli_py --> bincio_serve_cli_py
bincio_cli_py --> bincio_extract_cli_py
bincio_cli_py --> bincio_render_cli_py
bincio_cli_py --> bincio_serve_cli_py
bincio_cli_py --> bincio_import__cli_py
bincio_cli_py --> bincio_serve_init_cmd_py
bincio_cli_py --> bincio_dev_py
bincio_import__strava_py --> bincio_extract_models_py
bincio_import__strava_py --> bincio_extract_sport_py
bincio_edit_server_py --> bincio_edit_ops_py
@@ -252,23 +252,23 @@ graph LR
bincio_extract_cli_py --> bincio_extract_parsers_factory_py
bincio_extract_cli_py --> bincio_extract_config_py
bincio_extract_cli_py --> bincio_extract_dedup_py
bincio_extract_writer_py --> bincio_extract_models_py
bincio_extract_writer_py --> bincio_extract_metrics_py
bincio_extract_writer_py --> bincio_extract_timeseries_py
bincio_extract_writer_py --> bincio_extract_simplify_py
bincio_extract_writer_py --> bincio_extract_timeseries_py
bincio_extract_writer_py --> bincio_extract_models_py
bincio_extract_timeseries_py --> bincio_extract_models_py
bincio_serve_server_py --> bincio_edit_ops_py
bincio_serve_server_py --> bincio_serve_db_py
bincio_serve_server_py --> bincio_edit_ops_py
bincio_extract_parsers_tcx_py --> bincio_extract_models_py
bincio_extract_parsers_tcx_py --> bincio_extract_sport_py
bincio_extract_parsers_fit_py --> bincio_extract_models_py
bincio_extract_parsers_fit_py --> bincio_extract_sport_py
bincio_extract_parsers_gpx_py --> bincio_extract_sport_py
bincio_extract_parsers_gpx_py --> bincio_extract_models_py
bincio_extract_parsers_gpx_py --> bincio_extract_parsers_base_py
bincio_extract_parsers_gpx_py --> bincio_extract_sport_py
bincio_extract_parsers_factory_py --> bincio_extract_models_py
bincio_extract_parsers_factory_py --> bincio_extract_parsers_gpx_py
bincio_extract_parsers_factory_py --> bincio_extract_models_py
bincio_extract_parsers_factory_py --> bincio_extract_parsers_tcx_py
bincio_extract_parsers_factory_py --> bincio_extract_parsers_base_py
bincio_extract_parsers_factory_py --> bincio_extract_parsers_fit_py
bincio_extract_parsers_factory_py --> bincio_extract_parsers_tcx_py
bincio_extract_parsers_base_py --> bincio_extract_models_py
+22
View File
@@ -0,0 +1,22 @@
#!/usr/bin/env bash
# Pull user feedback from the VPS into ./feedback/ locally.
# Usage: bash scripts/pull_feedback.sh [vps-host] (default: root@95.216.55.151)
set -e
VPS=${1:-root@95.216.55.151}
REMOTE=/var/bincio/data/_feedback
LOCAL=$(dirname "$0")/../feedback
mkdir -p "$LOCAL"
echo "Syncing feedback from $VPS:$REMOTE$LOCAL"
rsync -avz --progress "${VPS}:${REMOTE}/" "$LOCAL/"
echo ""
echo "=== Feedback summary ==="
for f in "$LOCAL"/*.json; do
[[ -f "$f" ]] || continue
handle=$(basename "$f" .json)
count=$(python3 -c "import json,sys; d=json.load(open('$f')); print(len(d) if isinstance(d, list) else 1)" 2>/dev/null || echo "?")
echo " @$handle: $count submission(s)"
done