fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

9.8K
active users

#asyncio

0 posts0 participants0 posts today
Jean-Baptiste Rocher<p>I’ve always been a bit bothered by the fact that I didn’t really understand what happens under the hood with <a href="https://fosstodon.org/tags/asyncio" class="mention hashtag" rel="tag">#<span>asyncio</span></a> in <a href="https://fosstodon.org/tags/Python" class="mention hashtag" rel="tag">#<span>Python</span></a> </p><p>Like I know how to use it, have some experience with it, but the actual execution model always felt a bit fuzzy.</p><p>So I started digging into it and ended up writing my own minimal implementation to get a clearer picture of the core ideas.</p><p>That felt like a good excuse to turn it into a proper <a href="https://fosstodon.org/tags/blog" class="mention hashtag" rel="tag">#<span>blog</span></a> post, so here it is !</p><p>👉 <a href="https://dev.indooroutdoor.io/asyncio-demystified-rebuilding-it-from-scratch-one-yield-at-a-time" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">dev.indooroutdoor.io/asyncio-d</span><span class="invisible">emystified-rebuilding-it-from-scratch-one-yield-at-a-time</span></a></p><p><a href="https://fosstodon.org/tags/WebDev" class="mention hashtag" rel="tag">#<span>WebDev</span></a> <a href="https://fosstodon.org/tags/Tutorial" class="mention hashtag" rel="tag">#<span>Tutorial</span></a></p>
Habr<p>HTTP/2 / HTTP/3 и gRPC на Rust: пишем учебный Mini-Transport</p><p>Статья-практикум показывает, как устроены HTTP/2, HTTP/3 (QUIC) и gRPC на самом низком уровне. Вместо толстых библиотек мы пишем минимальный учебный фреймворк «Mini-Transport» на Rust (~600 строк): реализуем кодек HTTP/2-фреймов, упрощённый gRPC-протокол и базовую обёртку над QUIC. В результате получаем рабочий echo-клиент и сервер, которые пересылают «hello ↔ world» через собственноручно собранные фреймы. Разбор сопровождается поясняющими схемами, ссылками на RFC, вариантами дальнейшего развития (HPACK, flow-control, TLS/ALPN) и готовым репозиторием для самостоятельных экспериментов. Материал рассчитан на разработчиков, желающих понять «как всё крутится под капотом» и прокачать навыки низкоуровневой сетевой работы в Rust.</p><p><a href="https://habr.com/ru/articles/906324/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/906324/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/http2" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>http2</span></a> <a href="https://zhub.link/tags/rust" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>rust</span></a> <a href="https://zhub.link/tags/http3" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>http3</span></a> <a href="https://zhub.link/tags/quic" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>quic</span></a> <a href="https://zhub.link/tags/grpc" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>grpc</span></a> <a href="https://zhub.link/tags/asyncio" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>asyncio</span></a> <a href="https://zhub.link/tags/tokio" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>tokio</span></a></p>
OmarEbnElKhattab Hosney<p>🚀 Boost Python Efficiency with asyncio</p><p>Synchronous: Toast 🥪 → wait → Coffee ☕ → wait → Eat.</p><p>Asynchronous: Start Toast 🍞 &amp; Coffee ☕ → Fry Eggs 🍳 → Eat sooner!</p><p>Python's asyncio lets you run tasks concurrently, reducing wait times.</p><p>Key Terms:</p><p>Event Loop: Task scheduler.</p><p>await: Pause &amp; switch tasks.</p><p>Coroutines: Async functions.</p><p><a href="https://me.dm/tags/Python" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Python</span></a> <a href="https://me.dm/tags/Asyncio" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Asyncio</span></a> <a href="https://me.dm/tags/AsynchronousProgramming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>AsynchronousProgramming</span></a></p><p><a href="https://medium.com/@omkamal/a-beginners-guide-to-python-asyncio-db0daf63b8f4?sk=f46ff418fcb123945ad25b7263b06770" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">medium.com/@omkamal/a-beginner</span><span class="invisible">s-guide-to-python-asyncio-db0daf63b8f4?sk=f46ff418fcb123945ad25b7263b06770</span></a></p>
aiohttp<p>Thanks to months of consistent contributions by <br /><span class="h-card" translate="no"><a href="https://fosstodon.org/@lysnikolaou" class="u-url mention">@<span>lysnikolaou</span></a></span>, all of the mandatory <span class="h-card" translate="no"><a href="https://fosstodon.org/@aio_libs" class="u-url mention">@<span>aio_libs</span></a></span> dependencies of <a href="https://fosstodon.org/tags/aiohttp" class="mention hashtag" rel="tag">#<span>aiohttp</span></a> now ship free-threaded variants of <a href="https://fosstodon.org/tags/wheels" class="mention hashtag" rel="tag">#<span>wheels</span></a>!</p><p>This unblocks doing the same in aiohttp eventually!</p><p>Find a minute to thank him, will you?</p><p><a href="https://fosstodon.org/tags/aio_libs" class="mention hashtag" rel="tag">#<span>aio_libs</span></a> <a href="https://fosstodon.org/tags/Python" class="mention hashtag" rel="tag">#<span>Python</span></a> <a href="https://fosstodon.org/tags/Packaging" class="mention hashtag" rel="tag">#<span>Packaging</span></a> <a href="https://fosstodon.org/tags/asyncio" class="mention hashtag" rel="tag">#<span>asyncio</span></a></p>
LavX News<p>Unlocking Python's Hidden Potential: 14 Advanced Features Every Developer Should Know</p><p>Python is renowned for its simplicity, yet it harbors a treasure trove of advanced features that can elevate your coding game. From typing overloads to structural pattern matching, these underrated tr...</p><p><a href="https://news.lavx.hu/article/unlocking-python-s-hidden-potential-14-advanced-features-every-developer-should-know" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="ellipsis">news.lavx.hu/article/unlocking</span><span class="invisible">-python-s-hidden-potential-14-advanced-features-every-developer-should-know</span></a></p><p><a href="https://mastodon.cloud/tags/news" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>news</span></a> <a href="https://mastodon.cloud/tags/tech" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>tech</span></a> <a href="https://mastodon.cloud/tags/Python3" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Python3</span></a> <a href="https://mastodon.cloud/tags/TypeHints" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TypeHints</span></a> <a href="https://mastodon.cloud/tags/AsyncIO" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>AsyncIO</span></a></p>
Jeffrey04<p><a href="https://kitfucoda.medium.com/concurrency-vs-parallelism-achieving-scalability-with-processpoolexecutor-c366bfcc6207" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">kitfucoda.medium.com/concurren</span><span class="invisible">cy-vs-parallelism-achieving-scalability-with-processpoolexecutor-c366bfcc6207</span></a></p><p>Concurrency and parallelism are often confused in async programming discussions. Go's goroutines highlighted the difference: concurrency is doing many things at once, while parallelism is doing many things at the same time.</p><p>AsyncIO handles concurrency well for I/O, but CPU-bound tasks need parallelism. Python uses AsyncIO for concurrency, and ProcessPoolExecutor for parallelism, distributing work across CPU cores.</p><p>Process communication is harder than thread communication. AsyncIO's task cancellation differs from ProcessPoolExecutor's, requiring workarounds like event objects for reliable cancellation and shutdown.</p><p>Essentially, ProcessPoolExecutor enables parallelism for CPU-bound tasks, scaling them across multiple cores, while AsyncIO handles I/O concurrently.</p><p><a href="https://hachyderm.io/tags/python" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>python</span></a> <a href="https://hachyderm.io/tags/asyncio" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>asyncio</span></a> <a href="https://hachyderm.io/tags/concurrency" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>concurrency</span></a> <a href="https://hachyderm.io/tags/parallelism" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>parallelism</span></a> <a href="https://hachyderm.io/tags/multiprocessing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>multiprocessing</span></a> <a href="https://hachyderm.io/tags/opentowork" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>opentowork</span></a> <a href="https://hachyderm.io/tags/getfedihired" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>getfedihired</span></a> <a href="https://hachyderm.io/tags/fedihire" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>fedihire</span></a> <a href="https://hachyderm.io/tags/opentowork" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>opentowork</span></a></p>
Jeffrey04<p><a href="https://kitfucoda.medium.com/asyncio-task-management-a-hands-on-scheduler-project-bd7b7fe58c7e" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">kitfucoda.medium.com/asyncio-t</span><span class="invisible">ask-management-a-hands-on-scheduler-project-bd7b7fe58c7e</span></a></p><p>Just finished a deep dive into AsyncIO, building an asynchronous task scheduler! It's been a fascinating exploration of tasks, futures, and how to manage both I/O and CPU-bound operations. Real-world examples like API data fetching and complex calculations were used to demonstrate its capabilities.</p><p>Covered task management essentials: cancellation, graceful shutdowns, and building a CLI for interactive control. Tackled tricky AsyncIO parts like error and signal handling, ensuring the scheduler's robustness.</p><p>A key focus was on asyncio.create_task() vs. await, and strategies for managing background tasks and uncaught exceptions. It was a great learning experience.</p><p>If you're into Python and asynchronous programming, this might be of interest! <a href="https://hachyderm.io/tags/Python" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Python</span></a> <a href="https://hachyderm.io/tags/AsyncIO" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>AsyncIO</span></a> <a href="https://hachyderm.io/tags/AsynchronousProgramming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>AsynchronousProgramming</span></a> <a href="https://hachyderm.io/tags/TaskScheduling" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>TaskScheduling</span></a> <a href="https://hachyderm.io/tags/getfedihired" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>getfedihired</span></a> <a href="https://hachyderm.io/tags/fedihire" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>fedihire</span></a> <a href="https://hachyderm.io/tags/opentowork" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>opentowork</span></a></p>
Habr<p>Параллельные вычисления, конкурентность и асинхронное программирование в Python: обзор для начинающих</p><p>Однопоточные приложения на Python ограничены в производительности: они выполняют задачи последовательно и не используют преимущества многоядерных процессоров. Кроме того, такие программы не справляются с обработкой множества операций одновременно, особенно если речь идет о задачах, связанных с вводом-выводом, например сетевыми запросами или чтением файлов. Производительность можно значительно улучшить, внедрив в код параллельные вычисления, конкурентность или асинхронное программирование. Для этого Python предлагает такие инструменты, как multiprocessing, threading и asyncio.</p><p><a href="https://habr.com/ru/companies/skillfactory/articles/896160/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/skillfac</span><span class="invisible">tory/articles/896160/</span></a></p><p><a href="https://zhub.link/tags/python" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>python</span></a> <a href="https://zhub.link/tags/multiprocessing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>multiprocessing</span></a> <a href="https://zhub.link/tags/asyncio" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>asyncio</span></a> <a href="https://zhub.link/tags/threading" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>threading</span></a></p>
Habr<p>Как нам удалось упростить жизнь инженера-сметчика и сократить время на разработку сметы в 20 раз</p><p>Если вы инженер-сметчик, то наверняка знаете, что такое ежедневная работа с огромными таблицами и бесконечными спецификациями. Кто-то, возможно, уже смирился с монотонностью, а кто-то разработал свои лайфхаки для ускорения обработки данных. Но сегодня расскажем о новом подходе, который помог нам упростить процесс составления сметы на монтаж системы вентиляции. С чего все начиналось: с типичного дня сметчика Однажды мне поставили задачу — подготовить сметы для нового объекта, включая раздел вентиляции. Как многие сметчики знают, вентиляция — это один из самых трудоемких разделов.</p><p><a href="https://habr.com/ru/articles/896046/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/896046/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/process_tasks" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>process_tasks</span></a> <a href="https://zhub.link/tags/pandas" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>pandas</span></a> <a href="https://zhub.link/tags/asyncio" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>asyncio</span></a> <a href="https://zhub.link/tags/math" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>math</span></a></p>
Jeffrey04<p><a href="https://kitfucoda.medium.com/understanding-awaitables-coroutines-tasks-and-futures-in-python-a9c12890d20d" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">kitfucoda.medium.com/understan</span><span class="invisible">ding-awaitables-coroutines-tasks-and-futures-in-python-a9c12890d20d</span></a></p><p>Diving deep into Python's AsyncIO this week. Awaitables are the heart of it - coroutines, tasks, and futures. Coroutines, defined with async def, need the event loop to run. Tasks give us control over coroutine execution. Futures hold the results of async operations.</p><p>Interestingly, while Python uses coroutines, JavaScript relies on Promises. Yet, both leverage await to manage asynchronous flow. Understanding await across these languages provides valuable insights into the core principles of asynchronous programming.</p><p><a href="https://hachyderm.io/tags/python" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>python</span></a> <a href="https://hachyderm.io/tags/asyncio" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>asyncio</span></a> <a href="https://hachyderm.io/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a> <a href="https://hachyderm.io/tags/softwaredevelopment" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>softwaredevelopment</span></a> <a href="https://hachyderm.io/tags/opentowork" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>opentowork</span></a> <a href="https://hachyderm.io/tags/getfedihired" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>getfedihired</span></a></p>
Habr<p>Под чешуёй асинхронности: from yield to await</p><p>В данной статье мы рассмотрим основы асинхронного программирования в python, фокусируясь на ключевых концепциях и их практическом применении. Мы начнем с изучения генераторов и итераторов — фундаментальных механизмов, лежащих в основе асинхронности python. Затем поговорим о потоках и процессах, чтобы понять, как они соотносятся с асинхронным подходом. Основная цель статьи — создание собственной упрощенной реализации asyncio, включая цикл событий, задачи и примитивы синхронизации. Это позволит глубже понять внутреннее устройство асинхронной разработки в python.</p><p><a href="https://habr.com/ru/articles/889490/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/889490/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/%D0%B0%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%8C" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>асинхронность</span></a> <a href="https://zhub.link/tags/%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>генераторы</span></a> <a href="https://zhub.link/tags/%D0%B8%D1%82%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>итераторы</span></a> <a href="https://zhub.link/tags/python" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>python</span></a> <a href="https://zhub.link/tags/cpython" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>cpython</span></a> <a href="https://zhub.link/tags/gaio" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gaio</span></a> <a href="https://zhub.link/tags/asyncio" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>asyncio</span></a></p>
Jeffrey04<p><a href="https://kitfucoda.medium.com/writing-a-telegram-bot-in-python-866972ab63f5" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">kitfucoda.medium.com/writing-a</span><span class="invisible">-telegram-bot-in-python-866972ab63f5</span></a></p><p>I've just finished writing up a deep dive into building a Telegram bot with a FastAPI web application, and it was quite the journey into asynchronous Python! 🐍</p><p>The project started with a desire to run chatbots across multiple platforms, but quickly evolved into a focused exploration of asyncio. I found myself wrestling with event loops, queues, and the nuances of asyncio.create_task vs. asyncio.to_thread. It became very clear that understanding the difference between concurrency and parallelism is absolutely crucial in this space. Clever scheduling can mitigate blocking, but over-scheduling will inevitably lead to performance issues.</p><p>Architectural considerations became a major focus. I learned firsthand that cramming everything into a single process, while tempting, isn't always the best approach. Separating processes for scalability and future enhancements is something I'll definitely keep in mind for future projects.</p><p>This project was a great learning experience, and I'm looking forward to applying these lessons to future projects. If you're interested in asyncio, webhooks, or building chatbots, I'd love to hear your thoughts!<br><a href="https://hachyderm.io/tags/python" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>python</span></a> <a href="https://hachyderm.io/tags/asyncio" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>asyncio</span></a> <a href="https://hachyderm.io/tags/telegrambot" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>telegrambot</span></a> <a href="https://hachyderm.io/tags/fastapi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>fastapi</span></a> <a href="https://hachyderm.io/tags/webdevelopment" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>webdevelopment</span></a> <a href="https://hachyderm.io/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a> <a href="https://hachyderm.io/tags/opentowork" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>opentowork</span></a> <a href="https://hachyderm.io/tags/fedihire" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>fedihire</span></a></p>
Augier (fr & en) 🏴☭<p>Does someone knows a good <a href="https://diaspodon.fr/tags/Python" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Python</span></a> <a href="https://diaspodon.fr/tags/asyncio" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>asyncio</span></a> shutil alternative? I want to be able to copy entire filesystem trees while tracking and displaying progress and not code this by hand.</p><p>Edit: I'll also accept D-Bus APIs like Udisks2, but Udisks2 doesn't seem to provide this feature.</p><p>Edit 2: anything like an easy-to-use wrapper around something like rsync is fine too, as long as I still get to track and report progress.</p>
Sijmen Mulder<p>To me it seems that user-level threads (like async in C#) and system-level threads are mostly an implementation distinction, a distinction that shouldn't permeate the language as it tends to do. </p><p>Isn't his whole 'blocking vs async' duality is ridiculous if you think about it? In both cases, you wait for something to happen. For a high-level language, by what mechanism that waiting happens can be a runtime concern and exposed through common abstractions (e.g. for futures).</p><p><a href="https://bsd.network/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a> <a href="https://bsd.network/tags/asyncio" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>asyncio</span></a></p>
Habr<p>Как оптимизировать производительность API при высокой нагрузке</p><p>В статье мы рассмотрим основные подходы и практики для оптимизации производительности API, применяемые в</p><p><a href="https://habr.com/ru/companies/exolve/articles/879580/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/exolve/a</span><span class="invisible">rticles/879580/</span></a></p><p><a href="https://zhub.link/tags/zabbix_%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>zabbix_мониторинг</span></a> <a href="https://zhub.link/tags/%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>производительность</span></a> <a href="https://zhub.link/tags/logstash" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>logstash</span></a> <a href="https://zhub.link/tags/%D0%BC%D0%B8%D0%BA%D1%80%D0%BE%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%BD%D0%B0%D1%8F_%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>микросервисная_архитектура</span></a> <a href="https://zhub.link/tags/redis" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>redis</span></a> <a href="https://zhub.link/tags/rabbitmq" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>rabbitmq</span></a> <a href="https://zhub.link/tags/%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BA%D0%BE%D0%B4%D0%B0" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>оптимизация_кода</span></a> <a href="https://zhub.link/tags/%D0%B0%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%8C" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>асинхронность</span></a> <a href="https://zhub.link/tags/asyncio" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>asyncio</span></a> <a href="https://zhub.link/tags/nosql" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>nosql</span></a></p>
Andrea Peltrin<p>Phenomenal article about Python's long trek from generators to async/await, with examples. <br><a href="https://tenthousandmeters.com/blog/python-behind-the-scenes-12-how-asyncawait-works-in-python/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">tenthousandmeters.com/blog/pyt</span><span class="invisible">hon-behind-the-scenes-12-how-asyncawait-works-in-python/</span></a></p><p><a href="https://functional.cafe/tags/Python" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Python</span></a> <a href="https://functional.cafe/tags/asyncio" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>asyncio</span></a></p>
Habr<p>Concurrency testing — отлавливаем состояния гонки</p><p>В статье разберём некоторые техники обнаружения плавающих багов, вызванных конкурентностью. Сделаем подход к автоматическому тестированию устойчивости веб-сервисов к различным race condition. Примеры будут на python + asyncio + sqlalchemy, но эти подходы применимы к любым моделям конкурентности, которые подвержены состояниям гонки.</p><p><a href="https://habr.com/ru/companies/tochka/articles/865086/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/tochka/a</span><span class="invisible">rticles/865086/</span></a></p><p><a href="https://zhub.link/tags/race_condition" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>race_condition</span></a> <a href="https://zhub.link/tags/python" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>python</span></a> <a href="https://zhub.link/tags/asyncio" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>asyncio</span></a> <a href="https://zhub.link/tags/fuzzing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>fuzzing</span></a> <a href="https://zhub.link/tags/testing" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>testing</span></a></p>
Lenny<p>The fact that each and every async function in <a href="https://digitalcourage.social/tags/Rust" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Rust</span></a> declares what happens when its cancelled is so important and so good!</p><p>I remember how much of a PITA <a href="https://digitalcourage.social/tags/Python" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Python</span></a>'s <a href="https://digitalcourage.social/tags/asyncio" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>asyncio</span></a> task cancellation was, at least back in the 3.4 times.</p>
Habr<p>Система репутации в Telegram</p><p>Сегодня я расскажу, как можно создать собственную систему репутации с Telegram на Python . Решение будет легким и красивым, обещаю. Далле</p><p><a href="https://habr.com/ru/articles/871114/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/871114/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/python" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>python</span></a> <a href="https://zhub.link/tags/telegram" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>telegram</span></a> <a href="https://zhub.link/tags/bot" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>bot</span></a> <a href="https://zhub.link/tags/telegrambot" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>telegrambot</span></a> <a href="https://zhub.link/tags/aiogram" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>aiogram</span></a> <a href="https://zhub.link/tags/%D1%84%D0%BE%D1%80%D1%83%D0%BC" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>форум</span></a> <a href="https://zhub.link/tags/%D1%80%D0%B5%D0%BF%D1%83%D1%82%D0%B0%D1%86%D0%B8%D1%8F" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>репутация</span></a> <a href="https://zhub.link/tags/%D0%B1%D0%B0%D0%BB%D0%BB%D1%8B" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>баллы</span></a> <a href="https://zhub.link/tags/asyncio" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>asyncio</span></a> <a href="https://zhub.link/tags/console" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>console</span></a></p>
Habr<p>Массовая асинхронная обработка запросов с последующей синхронной CPU-bound логикой</p><p>Столкнулись с обработкой огромного числа запросов и сложной логикой? В новой статье показано, как эффективно обрабатывать до 1 000 000 запросов к API, использовать асинхронный подход для быстрого получения данных и параллельно выполнять тяжелые вычисления в отдельных процессах благодаря ProcessPoolExecutor. Узнайте, как совмещать массовый асинхронный ввод-вывод с CPU-bound обработкой, эффективно масштабировать решения и оптимизировать производительность!</p><p><a href="https://habr.com/ru/articles/869142/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/869142/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/asyncio" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>asyncio</span></a> <a href="https://zhub.link/tags/aiohttp" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>aiohttp</span></a></p>