فارسی
باز کردن در Telegram

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

18 ژوئیه 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 ·

در همان حوالی فید

Aaechبازنویسی Bun از Zig به Rust؛ کاملاً با هوش مصنوعی همون‌طور که احتمالاً می‌دونید، Bun یک JavaScript Runtime مدرنه که با تمرکز روی سرعت ساخته شده. این پروژه در ابAAlireza-Faمعرفی telegram outreach تو تلگرام یه سری تبلیغات میبینید که تو پیوی ارسال میشن. این پروژه دقیقا همینکارو انجام میده. اکانت های تلگرامی که دارید رو وارد میکنید و
این پیام
Aaech🔥 اگه با Go کار می‌کنی و هنوز از Air استفاده نمی‌کنی، وقتشه نصبش کنی! حتماً برات پیش اومده که بعد از هر تغییر توی کد، دوباره این دستور رو اجرا کنی: go run . بعدDDaimonوقتی هوش مصنوعی دست مسلمونا میوفته #fun @Syntax_fa

فید عمومی باز از ایندکس جست‌وجو ChatCrawler — «Google برای Telegram عمومی»؛ با خزش انجمن به‌روز می‌شود. زمان‌ها به UTC است.

فقط محتوای عمومی، API رسمی Telegram. دربارهٔ ما · پرسش‌ها · محدودیت‌های ایندکس · حذف یک صفحه · کاتالوگ · جست‌وجو · روش محاسبهٔ ما