Stop firefighting: practical observability for Python APIs, workers & jobs - Daria Korsakova
[EuroPython 2026 - S4 on 2026-07-16] š¤ *Stop firefighting: practical observability for Python APIs, workers & jobs by Daria Korsakova* š https://ep2026.europython.eu/session/stop-firefighting-practical-observability-for-python-apis-workers-jobs š Abstract: Production has a special talent for turning āseems fineā into āwhy is everything on fire?ā ā usually because weāre missing signals. A service restarts and never becomes ready, a background worker silently stops consuming tasks, or a database gets overloaded and latency creeps up until downstream services (or customers) notice it first. These situations arenāt unsolvable ā theyāre preventable with the right signals in place. Iāve seen how stressful this gets when a system is already in production, but thereās no clear guidance or shared āwhere to look firstā playbook; so every incident starts with guesswork. Over time, we turned those lessons into a lightweight standard that replaces panic mode with a predictable investigation flow. In this talk, Iāll share a practical, vendor-agnostic observability checklist for a Python setup with three cooperating workloads: an HTTP API, an event-driven worker, and a scheduled daily job. Each workload fails differently, so each requires a different set of signals to stay observable. Weāll cover what āgood enoughā looks like for logging, metrics, tracing, and alerting: what to instrument first, what pitfalls to avoid, and how to design alerts that catch problems early without creating noise. Youāll leave with a concrete checklist and a phased rollout order you can apply to your own Python services ā without rewriting your system or committing to a specific monitoring vendor. ## *Takeaways* - A baseline observability checklist every service should have: health/readiness, logging with consistent context, core metrics, and alert routing - Workload-specific signals: what to watch in APIs vs background workers vs scheduled jobs, and why one size doesnāt fit all - Structured logging that works in production: a minimal event schema + contextual fields that speed up debugging - Must-have alerts that prevent silent failures: service never becomes ready, worker stalls, scheduled job misses its run, sustained latency increase - Where tracing adds value: when itās worth the effort, what āminimal viable tracingā looks like, and whatās optional at the beginning - A rollout sequence you can apply incrementally: what to do first, what to add later --- This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/