Web appOpen in Telegram

Postپکیج پایتونی gevent

18 July 2026
A
Alireza-Fa
پکیج پایتونی gevent چرا gevent اصلاً متولد شد؟ قبل از اینکه کلمات کلیدی async و await وارد پایتون شوند، برنامه‌نویس‌ها برای مدیریت هزاران درخواست همزمان (مشکل C10k) یک دردسر بزرگ داشتند. استفاده از Threadهای سیستم‌عامل برای پایتون بسیار سنگین بود و حافظه زیادی مصرف می‌کرد. فریم‌ورک‌هایی مثل Twisted هم بودند که بر اساس Callback کار می‌کردند، اما خواندن و دیباگ کردن کدهای آن‌ها شبیه یک کابوس (Callback Hell) بود. اینجا بود که gevent با یک ایده درخشان وارد شد: کد را به شکل ساده و همگام (Sync) بنویس، اما ما آن را در پس‌زمینه به صورت ناهمگام (Async) و با سرعت نور اجرا می‌کنیم! gevent این کار را با استفاده از گرین‌لت‌ها (Greenlets) که میکروتردهای بسیار سبکی در سطح C هستند، انجام داد. الان با وجود asyncio، پرونده gevent بسته شده است؟ با اینکه asyncio استاندارد مدرن و آینده پایتون است، اما gevent هنوز یک برگ برنده بزرگ دارد: پروژه‌های قدیمی (Legacy). اگر شما یک پروژه بزرگ جنگو (Django) یا فلسک (Flask) دارید که با کدهای معمولی نوشته شده، نمی‌توانید یک‌شبه ده‌ها هزار خط کد را به async/await تبدیل کنید. gevent با تکنیک Monkey Patching به شما اجازه می‌دهد بدون تغییر دادن حتی یک خط از منطق اصلی برنامه‌تان، عملکرد I/O سرور را چند برابر کنید. مثال در سلری: فرض کنید باید ۱۰۰ ایمیل بفرستید یا از ۱۰۰ سایت دیتا استخراج کنید (کارهای I/O Bound).اگر در Celery از حالت پیش‌فرض (Prefork/Processes) استفاده کنید و فقط ۲ عدد Worker داشته باشید، در هر لحظه فقط ۲ تسک انجام می‌شود. بقیه تسک‌ها باید در صف منتظر بمانند تا این دو تمام شوند. این یعنی اتلاف زمان! اما اگر Worker را با gevent اجرا کنید: celery -A my_project worker -P gevent -c 100 همان ۲ پروسس حالا می‌توانند هر ۱۰۰ تسک را همزمان مدیریت کنند! وقتی تسک اول منتظر جواب سرور ایمیل است، gevent سریعاً سراغ تسک دوم می‌رود. با کمترین مصرف رم و CPU، سرعت اجرای تسک‌های شبکه‌ای شما ده‌ها برابر می‌شود. #gevent @Syntax_fa
15 · 1.7K ·

Nearby in the feed

Aaechبازنویسی Bun از Zig به Rust؛ کاملاً با هوش مصنوعی همون‌طور که احتمالاً می‌دونید، Bun یک JavaScript Runtime مدرنه که با تمرکز روی سرعت ساخته شده. این پروژه در ابAAlireza-Faمعرفی telegram outreach تو تلگرام یه سری تبلیغات میبینید که تو پیوی ارسال میشن. این پروژه دقیقا همینکارو انجام میده. اکانت های تلگرامی که دارید رو وارد میکنید و
this message
Aaech🔥 اگه با Go کار می‌کنی و هنوز از Air استفاده نمی‌کنی، وقتشه نصبش کنی! حتماً برات پیش اومده که بعد از هر تغییر توی کد، دوباره این دستور رو اجرا کنی: go run . بعدDDaimonوقتی هوش مصنوعی دست مسلمونا میوفته #fun @Syntax_fa
SSyntax | سینتکسSyntax | سینتکس@Syntax_fa · channel · Tech
3 263subscribers1 306average post reach
Venue feed Open in Telegram

An open public feed from the search index ChatCrawler — “Google for public Telegram”; refreshed as the venue is crawled. Times are UTC.

Public content only, official Telegram API. About · FAQ · What we do not do · Remove a page · Catalog · Search · How we count