زمان اجرا تولید: صف، رویداد، کرون
Type: Learn
Languages: Python (stdlib)
Prerequisites: Phase 14 · 13 (LangGraph), Phase 14 · 22 (Voice)
Time: ~60 minutes
اهداف یادگیری
- شش شکل زمان اجرا تولید را نام دهید و هر یک را با یک چارچوب / الگوی محصول مطابقت دهید.
- توضیح دهید که چرا اجرای پایدار (LangGraph) برای وظایف بلند مدت مهم است.
- زمان اجرا مبتنی بر رویداد و زمانی که کلاود آژانس های مدیریت شده مناسب است را توصیف کنید.
- ادعای مشاهده بودن به عنوان بار برای عوامل چند مرحله ای را توضیح دهید.
مشکل
عوامل تولید به شیوه ای که یک نوت بوک Jupyter به سطح نمی رسد شکست می خورند: زمان های شبکه در مرحله 37، کاربر تماس صدا را در وسط صدا می زند، کار cron در بازخورد ماشین می میراند، کارگر پس زمینه از حافظه می گذرد. شکل زمان اجرا تعیین می کند که کدام شکست ها قابل زنده ماندن هستند.
مفهوم
درخواست پاسخ
- HTTP هم زماني. کارخوار منتظر تکمیلش هست.
- فقط برای وظایف کوتاه مدت (<30 سال) قابل اجرا است.
- دسته ها: Agno (Python + FastAPI) ، Mastra (TypeScript + Express / Hono / Fastify / Koa).
- مشاهده: سوابق دسترسی HTTP استاندارد + دامنه OTel.
پخش
- SSE یا WebSocket برای خروجی پیشرفته
- LiveKit این کار را به WebRTC برای صدا/فیدیو گسترش می دهد (درسی 22).
- استیک ها: هر چارچوبی با پشتیبانی از جریان + یک فرونتند که SSE / WS را اداره می کند.
- قابل مشاهده بودن: زمان بندی بر اساس قطعه، تاخیر اولین نشانه، تاخیر دم.
اجرای پایدار
- هر قدم بعد از هر مرحله کنترل شده، در صورت شکست، خودکار ادامه نامه.
- مدل بازیگر AutoGen v0.4 شکست ها را به یک عامل جدا می کند (درس 14).
- تفاوت کننده اصلی لانگ گراف (درسه 13)
- وقتی تعداد مراحل ناشناخته و هزینه های بازیابی بالا است، ضروری است.
پشت سرنخ / پس زمینه
- شغل وارد صف می شود، کارگران می آیند، نتایج از طریق وب ها یا پاب/سب ها به سمتش می روند.
- ضروری برای عوامل افق دراز (ده ها تا صدها مرحله در هر کار، در هر اعلامیه استفاده از کامپیوتر Anthropic).
- دسته بندی: سیلر (پایتون) ، BullMQ (نود) ، SQS + Lambda (AWS) ، سفارشی.
- قابل مشاهده: عمق صف، توزیع تاخیر در هر شغل، اندازه DLQ.
فعالیت های مربوط به رویداد
- ماموران به تگ ها اشتراک می گذارند: ایمیل جدید، روابط عمومی باز شده، آتش افزونه.
- کلاود اداره شده عوامل پوشش می دهد از جعبه (درسی 17).
- جریان های CrewAI (درسه 15) جریان های کار تعیین کننده ای مبتنی بر رویدادها را ساختار می دهد.
- قابل مشاهده بودن: منبع فعال، تاخیر از رویداد تا شروع، تاخیر عامل.
برنامه ریزی شده
- عوامل شکل کرون که به طور دوره ای اجرا می شوند.
- با اجرای دوامدار ترکیب کنید تا یک مسابقه شبانه شکست خورده در نوبت بعدی ادامه یابد.
- استاک ها: Kubernetes CronJob + یک چارچوب پایدار؛ میزبان (Render cron، Vercel cron).
مدل های انتشار 2026
- CrewAI Flowsبرای تولید مبتنی بر رویدادها.
- AgnoFastAPI بدون دولت برای مایکرو سرویس های پایتون
- Mastraآداپتورهای سرور (Express، Hono، Fastify، Koa) برای گنجانده شدن.
- Pipecat Cloud / LiveKit Cloudبرای صدای مدیریت شده (درس 22).
- Claude Managed Agentsبرای همگام سازی طولانی مدت میزبان
قابل مشاهده بودن تحمل کننده است
بدون OpenTelemetry GenAI (درسی 23) و پس زمینه Langfuse / Phoenix / Opik (درسی 24) ، نمی توانید یک عامل چند مرحله ای را که در مرحله 40 شکست خورده است ، دیبگ کنید. این برای تولید اختیاری نیست. این تفاوت بین "ما سریع دیبگ می کنیم" و "ما از نو با ثبت بیشتر بازی می کنیم".
وقتی زمان اجرا تولید شکست می خورد
- Wrong shape choice.انتخاب درخواست-جواب برای یک کار 5 دقیقه ای کاربران تلفن را می کشند، کارگران جمع می شوند، دوباره تلاش می کنند.
- No DLQ.کارکنان بدون حرف مرده صف می زنند، شغل های شکست خورده ناپدید می شوند.
- Opaque background work.پس زمینه ایجنتی بدون ردی صادرات اجرا می شود. شکست ها تا زمانی که کاربر آنها را گزارش نمی دهد، نامرئی هستند.
- Skipping durable state.هر اجرا > 30 ثانیه که نمی توانید دوباره شروع کنید نیاز به اجرای پایدار دارد.
آن را بسازید
code/main.pyیک نمایش چند شکل STDlib است:
- نقطه پایان درخواست-جواب (فنکشن ساده).
- کنترل کننده جریان (گناتر)
- کارکن قطار دار با DLQ
- ثبت فعاليت رویداد
- برنامه ريزي در شکل کرون
اجرا کن
bashpython3 code/main.pyخروجی: پنج ردیف نشان دهنده رفتار هر شکل در یک کار است. منطق عامل مشابه، پوسته های خارجی مختلف. اجرای پایدار (شكل ششم) به طور عمدی در درس 13 با چک پوائنٹنگ لانگ گراف پوشش داده شده است.
ازش استفاده کن
- Request-responseبرای تجربه ی سبک چت
- Streamingبرای پاسخ های متقدمی
- Durableبرای وظایف بلند مدت
- Queueبرای دسته / async / طولانی مدت
- Eventبرای واکنش عامل
- Cronبرای حفظ و نگهداری خانه (مجموعه سازی حافظه، ارزیابی، گزارش هزینه ها).
-باده
outputs/skill-runtime-shape.mdشکل زمان اجرا را برای یک کار انتخاب می کند و الزامات مشاهده ای را به آن ها می دهد.
تمرینات
- درسي 1 را به تمام شش شکل در دسته خود منتقل کنید. کدام شکل با سطح محصول مناسب است؟
- به نمایشگاه مبتنی بر صف DLQ اضافه کنید. شبیه سازی 10٪ شکست کار؛ اندازه سطح DLQ.
- يه عامل ارزیابیي که به صورت "کرون" فعال شده و شبانه با 20 تا رد رد شما از روز اجرا ميشه بنويسيد
- اجرا کردن جریان با فشار: اگر مشتری کند است، مامور را متوقف کنید. این چگونه با بودجه نوبت تعامل دارد؟
- تو دوکس هاي کلاود اداره شده رو بخوني.
اصطلاحات کلیدی
| Term | What people say | What it actually means |
|---|---|---|
| Request-response | "Synchronous" | User waits; short tasks only |
| Streaming | "SSE / WS" | Progressive output; better UX; latency observable per chunk |
| Durable execution | "Resume from failure" | Checkpointed state; restart at last step |
| Queue-based | "Background jobs" | Producer / worker pool / DLQ |
| Event-driven | "Trigger-based" | Agent reacts to external events |
| DLQ | "Dead-letter queue" | Parking lot for failed jobs |
| Claude Managed Agents | "Hosted harness" | Anthropic-hosted long-running async with caching + compaction |
خواندن بیشتر
- LangGraph overview جزئیات اجرای پایدار
- Claude Managed Agents overview آسنک طولانی مدت میزبان
- Anthropic, Introducing computer use "دوشن تا صدها مرحله در هر کار"
- AutoGen v0.4 (Microsoft Research) جداسازی خطای مدل بازیگر
This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.
Browse the complete course catalog or open this lesson on GitHub.