<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
         <loc>https://async-concurrency.com/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/anyio-and-trio-interop/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/anyio-and-trio-interop/bridging-anyio-memory-object-streams-and-asyncio-queues/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/anyio-and-trio-interop/calling-sync-code-from-anyio-with-to-thread-and-from-thread/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/anyio-and-trio-interop/comparing-trio-nurseries-and-asyncio-taskgroup/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/anyio-and-trio-interop/level-vs-edge-cancellation-in-anyio-and-asyncio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/anyio-and-trio-interop/testing-async-code-with-the-anyio-pytest-plugin/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/anyio-and-trio-interop/using-anyio-cancel-scopes-and-move-on-after/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/anyio-and-trio-interop/waiting-for-readiness-with-anyio-task-group-start/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/anyio-and-trio-interop/writing-backend-agnostic-code-with-anyio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/async-context-managers-iterators/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/async-context-managers-iterators/adapting-blocking-iterators-to-async-iterators/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/async-context-managers-iterators/best-practices-for-async-context-managers-in-python/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/async-context-managers-iterators/building-async-context-managers-with-asynccontextmanager/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/async-context-managers-iterators/building-async-iterator-classes-with-aiter-and-anext/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/async-context-managers-iterators/closing-async-generators-with-aclosing/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/async-context-managers-iterators/handling-exceptions-in-aexit/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/async-context-managers-iterators/making-async-iterators-cancellation-safe/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/async-context-managers-iterators/managing-dynamic-resource-sets-with-asyncexitstack/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/async-context-managers-iterators/writing-async-itertools-helpers/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/asyncio-version-migration/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/asyncio-version-migration/adopting-taskgroup-and-timeout-when-upgrading-from-3-10/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/asyncio-version-migration/inspecting-running-tasks-with-asyncio-ps-and-pstree/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/asyncio-version-migration/migrating-off-event-loop-policies-in-python-3-14/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/asyncio-version-migration/replacing-get-event-loop-deprecation-warnings/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/asyncio-version-migration/testing-asyncio-code-across-python-versions/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/context-variables-and-request-context/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/context-variables-and-request-context/avoiding-contextvar-leaks-in-background-tasks/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/context-variables-and-request-context/carrying-contextvars-across-threads-and-executors/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/context-variables-and-request-context/propagating-deadlines-with-contextvars/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/context-variables-and-request-context/propagating-request-ids-with-contextvars/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/context-variables-and-request-context/resetting-contextvars-with-tokens/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/context-variables-and-request-context/running-callbacks-in-a-copied-context/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/context-variables-and-request-context/scoping-database-sessions-with-contextvars/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/context-variables-and-request-context/using-contextvars-with-async-generators/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/context-variables-and-request-context/why-contextvar-changes-do-not-flow-back-from-tasks/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/coroutine-design-patterns/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/coroutine-design-patterns/async-generators-vs-queues-for-streaming-pipelines/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/coroutine-design-patterns/debugging-unawaited-coroutines-in-large-codebases/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/coroutine-design-patterns/designing-sans-io-protocol-libraries/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/coroutine-design-patterns/implementing-the-single-flight-pattern-for-duplicate-calls/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/coroutine-design-patterns/lazy-async-initialization-with-a-shared-future/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/coroutine-design-patterns/offering-sync-and-async-versions-of-one-api/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/coroutine-design-patterns/processing-results-in-completion-order-with-as-completed/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/coroutine-design-patterns/racing-coroutines-and-taking-the-first-result/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/coroutine-design-patterns/structured-concurrency-with-asyncio-taskgroup/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/coroutine-design-patterns/writing-async-iterators-for-paginated-apis/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/event-loop-configuration/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/event-loop-configuration/benchmarking-uvloop-against-the-default-event-loop/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/event-loop-configuration/choosing-proactor-vs-selector-event-loops-on-windows/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/event-loop-configuration/how-to-properly-configure-asyncio-event-loops-for-production/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/event-loop-configuration/installing-a-custom-exception-handler-on-the-event-loop/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/event-loop-configuration/integrating-asyncio-with-tkinter-and-gui-event-loops/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/event-loop-configuration/reusing-one-loop-across-calls-with-asyncio-runner/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/event-loop-configuration/running-asyncio-code-inside-jupyter-notebooks/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/event-loop-configuration/running-multiple-event-loops-in-separate-threads/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/event-loop-configuration/sizing-the-default-thread-pool-executor/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/event-loop-configuration/when-to-use-asynciorun-vs-looprun_until_complete/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/event-loop-debugging-instrumentation/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/event-loop-debugging-instrumentation/dumping-stacks-of-a-hung-asyncio-program/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/event-loop-debugging-instrumentation/enabling-asyncio-debug-mode-in-tests-and-ci/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/event-loop-debugging-instrumentation/finding-blocking-calls-with-asyncio-debug-mode/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/event-loop-debugging-instrumentation/finding-never-retrieved-task-exceptions/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/event-loop-debugging-instrumentation/inspecting-pending-tasks-with-asyncio-all-tasks/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/event-loop-debugging-instrumentation/logging-task-lifecycles-with-a-custom-task-factory/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/event-loop-debugging-instrumentation/measuring-event-loop-lag-in-production/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/event-loop-debugging-instrumentation/profiling-asyncio-applications-with-py-spy/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/event-loop-debugging-instrumentation/reading-await-chains-with-task-get-stack/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/event-loop-debugging-instrumentation/tracing-slow-callbacks-with-loop-slow-callback-duration/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/future-objects-callbacks/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/future-objects-callbacks/avoiding-invalidstateerror-when-setting-future-results/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/future-objects-callbacks/awaiting-concurrent-futures-futures-in-asyncio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/future-objects-callbacks/bridging-callback-apis-to-async-with-futures/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/future-objects-callbacks/chaining-futures-and-transforming-results/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/future-objects-callbacks/correlating-requests-and-responses-with-futures/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/future-objects-callbacks/creating-futures-with-loop-create-future/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/future-objects-callbacks/resolving-futures-from-other-threads-safely/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/future-objects-callbacks/using-add-done-callback-without-losing-exceptions/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/future-objects-callbacks/using-loop-call-later-and-timer-handles/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/synchronization-primitives/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/synchronization-primitives/avoiding-deadlocks-with-nested-asyncio-locks/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/synchronization-primitives/building-a-countdown-latch-in-asyncio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/synchronization-primitives/choosing-asyncio-lock-vs-semaphore-vs-event/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/synchronization-primitives/coordinating-producers-and-consumers-with-asyncio-condition/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/synchronization-primitives/implementing-an-async-read-write-lock/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/synchronization-primitives/implementing-per-key-async-locks/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/synchronization-primitives/signalling-with-asyncio-event-set-and-clear/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/synchronization-primitives/using-asyncio-barrier-to-start-tasks-together/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/synchronization-primitives/why-asyncio-locks-are-not-thread-safe/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/task-scheduling-lifecycle/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/task-scheduling-lifecycle/debouncing-and-coalescing-repeated-task-triggers/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/task-scheduling-lifecycle/handling-exceptions-in-fire-and-forget-tasks/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/task-scheduling-lifecycle/naming-and-tracking-tasks-for-observability/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/task-scheduling-lifecycle/preventing-task-garbage-collection-with-strong-references/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/task-scheduling-lifecycle/running-periodic-tasks-without-drift/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/task-scheduling-lifecycle/scheduling-callbacks-with-call-soon-vs-create-task/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/task-scheduling-lifecycle/understanding-asynciocreate_task-vs-asyncioensure_future/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/task-scheduling-lifecycle/using-asyncio-wait-with-first-completed-and-first-exception/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/task-scheduling-lifecycle/using-the-eager-task-factory-in-python-3-12/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/asyncio-fundamentals-event-loop-architecture/task-scheduling-lifecycle/yielding-control-with-asyncio-sleep-zero/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-caching-and-deduplication/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-caching-and-deduplication/bounding-in-memory-async-caches-by-size/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-caching-and-deduplication/building-a-two-tier-local-and-redis-cache/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-caching-and-deduplication/building-an-async-ttl-cache-decorator/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-caching-and-deduplication/caching-http-responses-with-etags-in-async-clients/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-caching-and-deduplication/caching-with-redis-asyncio-clients/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-caching-and-deduplication/invalidating-caches-across-async-workers/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-caching-and-deduplication/preventing-cache-stampedes-in-asyncio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-caching-and-deduplication/warming-caches-on-startup-without-blocking-readiness/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-caching-and-deduplication/why-functools-lru-cache-breaks-on-coroutines/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-data-pipelines/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-data-pipelines/building-a-staged-async-pipeline-with-bounded-queues/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-data-pipelines/checkpointing-progress-in-long-running-async-jobs/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-data-pipelines/chunking-large-inputs-for-async-batch-processing/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-data-pipelines/merging-multiple-async-iterators-into-one-stream/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-data-pipelines/preserving-order-across-concurrent-pipeline-stages/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-queue-management/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-queue-management/batching-queue-items-by-size-and-time/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-queue-management/bounded-asyncio-queue-with-backpressure-under-load/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-queue-management/building-a-delay-queue-for-scheduled-items/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-queue-management/deduplicating-items-in-an-asyncio-queue/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-queue-management/fanning-out-a-queue-to-multiple-consumer-groups/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-queue-management/implementing-a-dead-letter-queue-with-asyncio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-queue-management/implementing-a-priority-queue-with-asyncioqueue/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-queue-management/monitoring-queue-depth-and-item-age/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-queue-management/shutting-down-queues-with-queue-shutdown-in-python-3-13/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/async-queue-management/tracking-unfinished-work-with-task-done-and-join/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/background-jobs-and-task-queues/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/background-jobs-and-task-queues/building-a-durable-job-queue-on-postgres-with-asyncio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/background-jobs-and-task-queues/calling-async-code-from-celery-tasks/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/background-jobs-and-task-queues/choosing-between-celery-arq-and-taskiq/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/background-jobs-and-task-queues/limiting-concurrency-per-job-type/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/background-jobs-and-task-queues/making-background-jobs-idempotent/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/background-jobs-and-task-queues/reporting-job-progress-and-status/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/background-jobs-and-task-queues/retrying-failed-background-jobs-with-backoff/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/background-jobs-and-task-queues/running-arq-workers-with-redis/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/background-jobs-and-task-queues/scheduling-cron-jobs-inside-an-asyncio-service/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/cpu-bound-task-offloading/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/cpu-bound-task-offloading/cancelling-long-running-work-in-a-process-pool/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/cpu-bound-task-offloading/choosing-chunksize-for-process-pool-map/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/cpu-bound-task-offloading/initializing-process-pool-workers-with-expensive-state/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/cpu-bound-task-offloading/offloading-cpu-work-to-interpreterpoolexecutor-in-python-3-14/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/cpu-bound-task-offloading/offloading-cpu-work-with-loop-run-in-executor/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/cpu-bound-task-offloading/recovering-from-brokenprocesspool-in-async-services/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/cpu-bound-task-offloading/reducing-pickle-overhead-in-processpoolexecutor-payloads/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/cpu-bound-task-offloading/sharing-large-arrays-with-shared-memory/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/cpu-bound-task-offloading/using-threads-for-gil-releasing-c-extensions/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/distributed-locks-and-coordination/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/distributed-locks-and-coordination/implementing-a-redis-lock-with-fencing-tokens/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/distributed-locks-and-coordination/leader-election-for-asyncio-workers/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/distributed-locks-and-coordination/renewing-lock-leases-with-a-heartbeat-task/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/distributed-locks-and-coordination/running-singleton-jobs-across-replicas/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/distributed-locks-and-coordination/using-postgres-advisory-locks-from-asyncio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/hybrid-concurrency-models/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/hybrid-concurrency-models/avoiding-deadlocks-when-threads-wait-on-the-loop/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/hybrid-concurrency-models/bridging-queues-between-threads-and-asyncio-tasks/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/hybrid-concurrency-models/calling-async-code-from-synchronous-code-safely/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/hybrid-concurrency-models/calling-async-libraries-from-flask-views/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/hybrid-concurrency-models/how-to-safely-share-state-between-async-tasks-and-threads/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/hybrid-concurrency-models/mixing-sync-and-async-views-in-django/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/hybrid-concurrency-models/replacing-thread-local-state-in-async-code/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/hybrid-concurrency-models/running-an-event-loop-in-a-background-thread/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/hybrid-concurrency-models/running-blocking-sdk-calls-with-asyncio-to-thread/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/hybrid-concurrency-models/sending-results-from-threads-to-an-asyncio-queue/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/rate-limiting-and-throttling/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/rate-limiting-and-throttling/adaptive-concurrency-limits-with-aimd/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/rate-limiting-and-throttling/enforcing-multiple-rate-limits-at-once/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/rate-limiting-and-throttling/handling-429-retry-after-responses-in-async-clients/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/rate-limiting-and-throttling/limiting-concurrent-requests-with-asyncio-semaphore/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/rate-limiting-and-throttling/per-tenant-rate-limits-in-async-services/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/rate-limiting-and-throttling/rate-limiting-incoming-requests-in-asgi-apps/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/rate-limiting-and-throttling/rate-limiting-websocket-messages-per-connection/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/rate-limiting-and-throttling/sliding-window-rate-limiting-with-redis-and-asyncio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/rate-limiting-and-throttling/smoothing-bursts-with-a-leaky-bucket/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/rate-limiting-and-throttling/token-bucket-rate-limiter-for-asyncio-clients/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/threading-vs-multiprocessing-vs-asyncio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/threading-vs-multiprocessing-vs-asyncio/asyncio-vs-threading-for-1000-concurrent-http-requests/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/threading-vs-multiprocessing-vs-asyncio/choosing-a-concurrency-model-for-a-websocket-gateway/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/threading-vs-multiprocessing-vs-asyncio/choosing-between-threadpoolexecutor-and-processpoolexecutor-for-data-pipelines/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/threading-vs-multiprocessing-vs-asyncio/combining-asyncio-with-multiprocessing-for-mixed-workloads/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/threading-vs-multiprocessing-vs-asyncio/comparing-memory-per-task-thread-and-process/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/threading-vs-multiprocessing-vs-asyncio/evaluating-free-threaded-python-for-cpu-bound-threads/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/threading-vs-multiprocessing-vs-asyncio/gevent-vs-asyncio-for-io-bound-services/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/threading-vs-multiprocessing-vs-asyncio/how-the-gil-affects-async-services/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/threading-vs-multiprocessing-vs-asyncio/migrating-legacy-threading-code-to-asyncio-without-downtime/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/threading-vs-multiprocessing-vs-asyncio/when-asyncio-is-slower-than-threads/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/worker-pool-implementations/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/worker-pool-implementations/building-an-async-worker-pool-with-taskgroup/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/worker-pool-implementations/draining-a-worker-pool-on-shutdown/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/worker-pool-implementations/fair-scheduling-across-tenants-in-a-worker-pool/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/worker-pool-implementations/optimizing-worker-pool-sizes-for-mixed-io-and-cpu-workloads/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/worker-pool-implementations/pausing-and-resuming-a-worker-pool/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/worker-pool-implementations/processing-queue-items-in-order-per-key/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/worker-pool-implementations/restarting-crashed-workers-with-a-supervisor-task/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/worker-pool-implementations/returning-worker-pool-results-in-submission-order/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/worker-pool-implementations/scaling-worker-pools-with-queue-depth/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/concurrent-execution-worker-patterns/worker-pool-implementations/setting-per-item-timeouts-in-worker-pools/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/asgi-servers-and-frameworks/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/asgi-servers-and-frameworks/choosing-between-uvicorn-hypercorn-and-granian/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/asgi-servers-and-frameworks/detecting-client-disconnects-in-asgi-handlers/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/asgi-servers-and-frameworks/limiting-request-body-size-in-asgi-apps/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/asgi-servers-and-frameworks/managing-async-resources-with-fastapi-yield-dependencies/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/asgi-servers-and-frameworks/managing-startup-and-shutdown-with-asgi-lifespan/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/asgi-servers-and-frameworks/running-background-tasks-in-fastapi-safely/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/asgi-servers-and-frameworks/sizing-uvicorn-workers-for-async-services/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/asgi-servers-and-frameworks/streaming-responses-with-starlette-and-fastapi/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/asgi-servers-and-frameworks/writing-pure-asgi-middleware/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-database-drivers/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-database-drivers/avoiding-event-loop-blocking-with-asyncpg/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-database-drivers/bulk-loading-rows-with-asyncpg-copy/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-database-drivers/reconnecting-async-database-pools-after-failover/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-database-drivers/running-transactions-safely-with-asyncpg-pools/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-database-drivers/sqlalchemy-asyncio-session-per-request-patterns/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-database-drivers/streaming-large-result-sets-with-asyncpg-cursors/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-database-drivers/using-listen-notify-with-asyncpg/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-database-drivers/using-psycopg-3-async-connections-and-pools/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-database-drivers/using-sqlite-from-asyncio-with-aiosqlite/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-database-drivers/why-one-sqlalchemy-asyncsession-cannot-run-queries-concurrently/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-http-clients-servers/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-http-clients-servers/building-a-minimal-http-server-on-asyncio-streams/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-http-clients-servers/choosing-between-httpx-and-aiohttp/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-http-clients-servers/downloading-many-urls-concurrently-with-progress/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-http-clients-servers/mocking-httpx-calls-in-async-tests-with-respx/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-http-clients-servers/retrying-httpx-requests-with-transport-retries/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-http-clients-servers/reusing-aiohttp-clientsession-across-requests/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-http-clients-servers/running-fastapi-endpoints-without-blocking-the-event-loop/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-http-clients-servers/setting-connect-read-and-total-timeouts-in-async-http-clients/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-http-clients-servers/streaming-large-responses-with-httpx/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-http-clients-servers/uploading-multipart-files-with-httpx-and-aiohttp/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-web-crawlers/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-web-crawlers/deduplicating-urls-in-a-concurrent-crawl-frontier/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-web-crawlers/handling-redirects-and-timeouts-when-crawling-with-aiohttp/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-web-crawlers/limiting-concurrency-per-host-in-an-async-crawler/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-web-crawlers/persisting-crawl-state-to-resume-after-a-crash/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/async-web-crawlers/respecting-robots-txt-and-crawl-delay-asynchronously/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/cloud-sdks-and-object-storage/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/cloud-sdks-and-object-storage/downloading-many-s3-objects-concurrently/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/cloud-sdks-and-object-storage/managing-aioboto3-clients-without-leaking-connections/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/cloud-sdks-and-object-storage/streaming-object-downloads-to-disk-without-buffering/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/cloud-sdks-and-object-storage/uploading-large-files-to-s3-with-async-multipart/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/cloud-sdks-and-object-storage/wrapping-sync-cloud-sdks-with-asyncio-to-thread/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/connection-pooling-and-keepalive/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/connection-pooling-and-keepalive/caching-dns-lookups-in-async-http-clients/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/connection-pooling-and-keepalive/configuring-aiohttp-tcpconnector-limits/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/connection-pooling-and-keepalive/configuring-httpx-limits-and-pool-timeouts/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/connection-pooling-and-keepalive/diagnosing-connection-pool-exhaustion-in-async-clients/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/connection-pooling-and-keepalive/handling-stale-pooled-connections-after-idle-timeouts/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/connection-pooling-and-keepalive/http2-connection-multiplexing-with-httpx/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/connection-pooling-and-keepalive/sizing-async-connection-pools-for-throughput/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/connection-pooling-and-keepalive/tuning-tcp-keepalive-for-long-lived-async-connections/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/connection-pooling-and-keepalive/warming-connection-pools-at-startup/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/connection-pooling-and-keepalive/why-connection-pools-are-per-process/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/grpc-and-rpc/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/grpc-and-rpc/adding-interceptors-to-grpc-aio-clients-and-servers/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/grpc-and-rpc/building-async-grpc-services-with-grpc-aio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/grpc-and-rpc/health-checking-grpc-aio-services/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/grpc-and-rpc/load-balancing-grpc-aio-clients/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/grpc-and-rpc/propagating-grpc-deadlines-and-cancellation/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/grpc-and-rpc/retrying-grpc-calls-by-status-code/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/grpc-and-rpc/securing-grpc-aio-with-tls-and-auth-metadata/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/grpc-and-rpc/streaming-rpcs-with-grpc-aio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/grpc-and-rpc/testing-grpc-aio-services/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/message-brokers-and-event-streams/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/message-brokers-and-event-streams/committing-kafka-offsets-safely-in-async-consumers/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/message-brokers-and-event-streams/consuming-kafka-topics-with-aiokafka/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/message-brokers-and-event-streams/handling-poison-messages-in-async-consumers/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/message-brokers-and-event-streams/implementing-the-transactional-outbox-pattern-in-asyncio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/message-brokers-and-event-streams/processing-rabbitmq-messages-with-aio-pika/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/message-brokers-and-event-streams/publishing-to-kafka-with-aiokafka-producers/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/message-brokers-and-event-streams/reading-redis-streams-with-consumer-groups/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/message-brokers-and-event-streams/tuning-rabbitmq-prefetch-for-async-consumers/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/message-brokers-and-event-streams/using-nats-from-asyncio-with-nats-py/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/streams-transports-protocols/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/streams-transports-protocols/adding-read-timeouts-to-asyncio-streams/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/streams-transports-protocols/adding-tls-to-asyncio-streams-with-ssl-contexts/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/streams-transports-protocols/building-a-tcp-proxy-with-asyncio-streams/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/streams-transports-protocols/building-a-udp-protocol-with-asyncio-datagram-endpoints/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/streams-transports-protocols/handling-drain-and-write-backpressure-in-asyncio-streams/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/streams-transports-protocols/implementing-a-length-prefixed-framing-protocol/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/streams-transports-protocols/reading-line-delimited-protocols-with-asyncio-streams/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/streams-transports-protocols/reducing-copies-with-buffered-protocols/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/streams-transports-protocols/using-unix-domain-sockets-with-asyncio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/streams-transports-protocols/writing-a-tcp-server-with-asyncio-start-server/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/subprocesses-and-file-io/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/subprocesses-and-file-io/async-file-io-with-aiofiles-vs-asyncio-to-thread/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/subprocesses-and-file-io/killing-subprocess-trees-on-cancellation/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/subprocesses-and-file-io/limiting-concurrent-subprocesses/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/subprocesses-and-file-io/piping-data-between-subprocesses-in-asyncio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/subprocesses-and-file-io/running-subprocesses-with-asyncio-create-subprocess-exec/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/subprocesses-and-file-io/streaming-subprocess-output-without-deadlocks/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/subprocesses-and-file-io/timing-out-subprocesses-in-asyncio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/subprocesses-and-file-io/watching-files-for-changes-in-asyncio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/subprocesses-and-file-io/writing-files-atomically-from-async-code/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/websocket-real-time-streams/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/websocket-real-time-streams/authenticating-websocket-connections/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/websocket-real-time-streams/broadcasting-to-thousands-of-websocket-clients/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/websocket-real-time-streams/compressing-websocket-messages-with-permessage-deflate/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/websocket-real-time-streams/handling-websocket-backpressure-with-slow-consumers/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/websocket-real-time-streams/handling-websockets-in-fastapi-and-starlette/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/websocket-real-time-streams/reconnecting-websocket-clients-with-backoff/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/websocket-real-time-streams/scaling-websockets-across-processes-with-redis-pubsub/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/websocket-real-time-streams/streaming-server-sent-events-from-asyncio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/websocket-real-time-streams/testing-websocket-servers/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/network-io-protocol-handling/websocket-real-time-streams/tuning-websocket-ping-pong-heartbeats/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/cancellation-patterns/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/cancellation-patterns/cancelling-a-task-and-waiting-for-it-to-finish/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/cancellation-patterns/cancelling-all-tasks-on-keyboardinterrupt/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/cancellation-patterns/cancelling-asyncio-to-thread-calls/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/cancellation-patterns/cancelling-tasks-with-a-message/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/cancellation-patterns/implementing-cooperative-cancellation-in-cpu-loops/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/cancellation-patterns/making-database-transactions-cancellation-safe/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/cancellation-patterns/preventing-cancellederror-leaks-in-cleanup/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/cancellation-patterns/propagating-cancellation-through-callback-apis/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/cancellation-patterns/understanding-task-cancelling-and-uncancel/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/cancellation-patterns/using-asyncio-shield-to-protect-critical-sections/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/circuit-breakers-and-bulkheads/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/circuit-breakers-and-bulkheads/adding-timeouts-and-fallbacks-to-degraded-dependencies/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/circuit-breakers-and-bulkheads/bulkhead-isolation-with-per-dependency-semaphores/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/circuit-breakers-and-bulkheads/combining-circuit-breakers-with-retries/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/circuit-breakers-and-bulkheads/implementing-an-async-circuit-breaker/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/circuit-breakers-and-bulkheads/isolating-tenants-with-bulkheads/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/circuit-breakers-and-bulkheads/load-shedding-when-the-event-loop-is-overloaded/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/circuit-breakers-and-bulkheads/probing-strategies-for-half-open-circuit-breakers/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/circuit-breakers-and-bulkheads/sharing-circuit-breaker-state-across-processes/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/circuit-breakers-and-bulkheads/tuning-circuit-breaker-thresholds-from-metrics/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/exception-groups-and-taskgroups/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/exception-groups-and-taskgroups/cancelling-a-taskgroup-from-inside-a-child/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/exception-groups-and-taskgroups/flattening-nested-exceptiongroups/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/exception-groups-and-taskgroups/handling-exceptiongroup-from-taskgroup/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/exception-groups-and-taskgroups/handling-specific-errors-with-except-star/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/exception-groups-and-taskgroups/logging-exceptiongroups-with-full-tracebacks/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/exception-groups-and-taskgroups/migrating-from-gather-to-taskgroup/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/exception-groups-and-taskgroups/returning-partial-results-from-a-fan-out-before-a-deadline/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/exception-groups-and-taskgroups/testing-code-that-raises-exceptiongroups/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/exception-groups-and-taskgroups/wrapping-and-re-raising-exceptiongroups/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/graceful-shutdown-and-signals/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/graceful-shutdown-and-signals/closing-websocket-connections-on-shutdown/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/graceful-shutdown-and-signals/draining-in-flight-requests-before-shutdown/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/graceful-shutdown-and-signals/flushing-telemetry-and-logs-before-exit/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/graceful-shutdown-and-signals/handling-ctrl-c-in-asyncio-scripts/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/graceful-shutdown-and-signals/handling-sigterm-in-asyncio-services/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/graceful-shutdown-and-signals/implementing-health-and-readiness-probes-for-asyncio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/graceful-shutdown-and-signals/reloading-configuration-on-sighup-in-asyncio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/graceful-shutdown-and-signals/shutting-down-async-generators-and-executors-cleanly/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/graceful-shutdown-and-signals/shutting-down-asyncio-pods-in-kubernetes/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/load-testing-and-benchmarking/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/load-testing-and-benchmarking/avoiding-coordinated-omission-in-latency-benchmarks/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/load-testing-and-benchmarking/building-an-open-loop-load-generator-in-asyncio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/load-testing-and-benchmarking/finding-the-saturation-point-of-an-async-service/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/load-testing-and-benchmarking/measuring-latency-percentiles-without-averaging-them/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/load-testing-and-benchmarking/microbenchmarking-coroutines-with-pyperf-and-timeit/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/memory-and-resource-leaks/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/memory-and-resource-leaks/detecting-leaked-sockets-and-file-descriptors/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/memory-and-resource-leaks/diagnosing-unbounded-queue-memory-growth/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/memory-and-resource-leaks/finding-memory-leaks-in-asyncio-with-tracemalloc/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/memory-and-resource-leaks/finding-reference-cycles-that-keep-tasks-alive/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/memory-and-resource-leaks/fixing-unclosed-client-session-warnings/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/memory-and-resource-leaks/leaks-from-exceptions-holding-frames/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/memory-and-resource-leaks/leaks-from-forgotten-callbacks-and-timer-handles/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/memory-and-resource-leaks/profiling-async-services-with-memray/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/memory-and-resource-leaks/tracking-task-growth-in-long-running-services/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/observability-and-tracing/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/observability-and-tracing/alerting-on-event-loop-saturation/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/observability-and-tracing/continuous-profiling-of-async-services/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/observability-and-tracing/correlating-logs-and-traces-with-request-ids/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/observability-and-tracing/exporting-prometheus-metrics-from-asyncio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/observability-and-tracing/instrumenting-httpx-and-aiohttp-with-opentelemetry/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/observability-and-tracing/measuring-queue-wait-and-service-time-separately/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/observability-and-tracing/sampling-traces-in-high-throughput-async-services/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/observability-and-tracing/structured-logging-for-async-services/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/observability-and-tracing/tracing-asyncio-services-with-opentelemetry/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/retry-and-backoff-strategies/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/retry-and-backoff-strategies/classifying-retryable-errors-in-async-clients/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/retry-and-backoff-strategies/exponential-backoff-with-jitter-in-asyncio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/retry-and-backoff-strategies/hedging-requests-to-cut-tail-latency/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/retry-and-backoff-strategies/idempotency-keys-for-safe-async-retries/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/retry-and-backoff-strategies/implementing-retry-budgets-to-prevent-retry-storms/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/retry-and-backoff-strategies/resuming-interrupted-streaming-downloads/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/retry-and-backoff-strategies/retrying-async-calls-with-tenacity/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/retry-and-backoff-strategies/testing-retry-logic-without-real-sleeps/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/retry-and-backoff-strategies/writing-a-retry-decorator-for-coroutines/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/testing-async-code/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/testing-async-code/choosing-event-loop-scopes-in-pytest-asyncio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/testing-async-code/controlling-time-in-asyncio-tests/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/testing-async-code/detecting-leaked-tasks-in-tests/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/testing-async-code/integration-testing-async-services-with-real-dependencies/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/testing-async-code/mocking-async-dependencies-with-asyncmock/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/testing-async-code/property-based-testing-of-async-code-with-hypothesis/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/testing-async-code/reproducing-race-conditions-deterministically/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/testing-async-code/testing-asyncio-code-with-pytest-asyncio/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/testing-async-code/testing-cancellation-and-cleanup-paths/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/testing-async-code/testing-with-unittest-isolatedasynciotestcase/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/timeouts-and-deadlines/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/timeouts-and-deadlines/choosing-asyncio-timeout-vs-wait-for/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/timeouts-and-deadlines/deriving-timeouts-from-latency-percentiles/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/timeouts-and-deadlines/enforcing-request-timeouts-in-asgi-servers/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/timeouts-and-deadlines/implementing-idle-timeouts-for-connections/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/timeouts-and-deadlines/propagating-deadlines-across-async-service-calls/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/timeouts-and-deadlines/rescheduling-asyncio-timeout-deadlines-dynamically/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/timeouts-and-deadlines/setting-per-attempt-and-total-timeouts-for-retries/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/timeouts-and-deadlines/telling-timeouterror-apart-from-cancellederror/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/timeouts-and-deadlines/timing-out-blocking-calls-in-threads/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
    <url>
         <loc>https://async-concurrency.com/resilience-cancellation-error-handling/timeouts-and-deadlines/timing-out-each-item-of-an-async-iterator/</loc>
         <lastmod>2026-10-03</lastmod>
    </url>
</urlset>