{"definition_raw":"---\nid: f1-google-calendar-sync\ntitle: Sync F1 schedule to Google Calendar\nschedule: \"20 6 * * *\"\ntimeout: 240\nretry: true\nenabled: true\nnotify_on: failure\nrun_as: shell\ncommand: \"cd /home/lucienne/workspace && /usr/bin/python3.12 scripts/f1_google_calendar_sync.py --days 14 --quiet\"\ntags: [f1, calendar, google]\nruntime_profile: direct_python\n---\n\nDaily idempotent F1 diary sync for Elmar's Google Calendar. Reads the live FastF1\n2026 schedule when available, falls back to `projects/f1-predictor/config/races_2026.json`,\nand creates/patches upcoming F1 sessions in Google Calendar with an `iris-f1:<slug>:<session>`\nkey in the event body so repeated runs do not create duplicates.\n\nRuns daily at 06:20 SAST. `notify_on: failure` keeps normal no-change runs quiet;\nrun logs still record created/updated events. This task is separate from the F1\nprediction/Superbru tasks, which do not write to Google Calendar.\n","id":"f1-google-calendar-sync","last_run":{"duration_s":1.357866,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-google-calendar-sync/411703.log","output":"","started_at":"2026-06-12T17:46:59.174887+02:00","status":"completed"},"next_run":"2026-06-13 06:20","next_run_iso":"2026-06-13T06:20:00+02:00","runs":[{"duration_s":1.357866,"finished_at":"2026-06-12T17:47:00.537826+02:00","id":411703,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-google-calendar-sync/411703.log","output":"","started_at":"2026-06-12T17:46:59.174887+02:00","status":"completed","task_id":"f1-google-calendar-sync","task_name":"Sync F1 schedule to Google Calendar"},{"duration_s":1.376157,"finished_at":"2026-06-12T17:46:07.351837+02:00","id":411702,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-google-calendar-sync/411702.log","output":"","started_at":"2026-06-12T17:46:05.971273+02:00","status":"completed","task_id":"f1-google-calendar-sync","task_name":"Sync F1 schedule to Google Calendar"},{"duration_s":2.750955,"finished_at":"2026-06-12T17:46:03.321229+02:00","id":411699,"log_path":"/home/lucienne/workspace/logs/task-runs/f1-google-calendar-sync/411699.log","output":"{\n  \"created\": [\n    \"F1 Austrian GP \\u2014 FP1 @ 2026-06-26 13:30 SAST\",\n    \"F1 Austrian GP \\u2014 FP2 @ 2026-06-26 17:00 SAST\"\n  ],\n  \"updated\": [],\n  \"unchanged_count\": 4,\n  \"source\": \"FastF1 live schedule\"\n}\n","started_at":"2026-06-12T17:46:00.565415+02:00","status":"completed","task_id":"f1-google-calendar-sync","task_name":"Sync F1 schedule to Google Calendar"}],"runs_limit":20,"schedule":"20 6 * * *","schedule_label":{"description":"Daily at 06:20","is_custom":false,"label":"Daily","sort":4,"sort_time":"06:20"},"stats":{"avg_duration":1.828326,"completed":3,"failed":0,"timeout":0,"total":3},"task":{"_description":"Daily idempotent F1 diary sync for Elmar's Google Calendar. Reads the live FastF1\n2026 schedule when available, falls back to `projects/f1-predictor/config/races_2026.json`,\nand creates/patches upcoming F1 sessions in Google Calendar with an `iris-f1:<slug>:<session>`\nkey in the event body so repeated runs do not create duplicates.\n\nRuns daily at 06:20 SAST. `notify_on: failure` keeps normal no-change runs quiet;\nrun logs still record created/updated events. This task is separate from the F1\nprediction/Superbru tasks, which do not write to Google Calendar.","_file":"f1-google-calendar-sync.md","_path":"/home/lucienne/workspace/tasks/f1-google-calendar-sync.md","command":"cd /home/lucienne/workspace && /usr/bin/python3.12 scripts/f1_google_calendar_sync.py --days 14 --quiet","enabled":true,"id":"f1-google-calendar-sync","notify_on":"failure","retry":true,"run_as":"shell","runtime_profile":"direct_python","schedule":"20 6 * * *","tags":["f1","calendar","google"],"timeout":240,"title":"Sync F1 schedule to Google Calendar"}}
