اپلیکیشن اندرویدی فلشکارت آموزشی مدیریت صفها (Queues) در لاراول: پردازش وظایف پسزمینه
📚 کتاب آموزشی جامع
📚 اطلاعات کتاب
عنوان کتاب: کتاب مدیریت صفها (Queues) در لاراول: پردازش وظایف پسزمینه
موضوع کلی: برنامه نویسی
موضوع میانی: لاراول (Laravel)
📋 سرفصلهای کتاب (100 موضوع)
- 1. مقدمه ای بر صفها (Queues) در برنامه نویسی
- 2. چرا از صفها در لاراول استفاده کنیم؟
- 3. مفهوم پردازش وظایف پسزمینه (Background Job Processing)
- 4. معماری صفها در لاراول: اجزا و نقشها
- 5. بررسی نیازها و موارد استفاده از صفها
- 6. پیشنیازها برای کار با صفها در لاراول
- 7. انتخاب درایور مناسب برای صفها (Queue Driver)
- 8. پیکربندی درایور `sync` (همگام)
- 9. پیکربندی درایور `database` (پایگاه داده)
- 10. پیکربندی درایور `redis` (ریدیس)
- 11. ساخت اولین Job: فرمان `make:job`
- 12. ساختار یک کلاس Job در لاراول
- 13. متد `handle()`: منطق اجرای وظیفه
- 14. تزریق وابستگیها (Dependency Injection) در متد `handle()`
- 15. ارسال داده به Job ها از طریق سازنده (Constructor)
- 16. ارسال Job به صف: تابع `dispatch()`
- 17. ارسال Job به صورت همگام: `dispatch_sync()`
- 18. ارسال Job بدون انتظار برای پاسخ: `dispatchAfterResponse()`
- 19. کلاس `Job` پایه و ویژگیهای آن
- 20. سریالایز کردن مدلهای Eloquent برای Job ها
- 21. رفع مشکل سریالایزیشن با `SerializesModels`
- 22. بررسی Payload یک Job
- 23. تنظیمات درایور صف در فایل `.env`
- 24. استفاده از درایور `null` برای توسعه (Disabled Queues)
- 25. سفارشی سازی Payload Job ها
- 26. اجرای صفها با `php artisan queue:work`
- 27. حالت `daemon` در `queue:work`
- 28. توقف و راهاندازی مجدد Workers
- 29. استفاده از `php artisan queue:listen`
- 30. تفاوت بین `queue:work` و `queue:listen`
- 31. بررسی مشکلات رایج در اجرای Workers
- 32. مدیریت Workers در محیط Production
- 33. مقدمهای بر Supervisor برای مدیریت Workers
- 34. پیکربندی Supervisor برای صفهای لاراول
- 35. بررسی وضعیت Workers با Supervisor
- 36. مفهوم Job Attempts (تلاشها)
- 37. تعیین حداکثر تعداد تلاشها با ویژگی `$tries`
- 38. تعیین زمان استراحت بین تلاشها با ویژگی `$retryAfter`
- 39. Timeout برای Job ها: ویژگی `$timeout`
- 40. مدیریت Job های Timeout شده
- 41. جدول `failed_jobs`: ذخیره Job های شکستخورده
- 42. ساخت جدول `failed_jobs`: فرمان `queue:failed-table`
- 43. مشاهده Job های شکستخورده: `queue:list`
- 44. امتحان مجدد Job های شکستخورده: `queue:retry`
- 45. امتحان مجدد یک Job خاص: `queue:retry <id>`
- 46. امتحان مجدد تمام Job های شکستخورده
- 47. حذف Job های شکستخورده: `queue:forget`
- 48. حذف تمام Job های شکستخورده
- 49. پاکسازی Job های شکستخورده قدیمی: `queue:prune-failed`
- 50. پیادهسازی متد `failed()` برای Job های شکستخورده
- 51. ارسال Job ها با تاخیر: متد `delay()`
- 52. ارسال Job ها برای اجرا در زمان مشخص: `available_at()`
- 53. استفاده از چندین صف (Multiple Queues)
- 54. ارسال Job به یک صف خاص: `onQueue()`
- 55. اولویتبندی Job ها با استفاده از صفهای مختلف
- 56. مفهوم Job Chaining (زنجیرهای کردن Job ها)
- 57. ساخت یک زنجیره Job با `Bus::chain()`
- 58. مدیریت خطا در Job Chaining
- 59. مفهوم Job Batching (دستهبندی Job ها)
- 60. ساخت یک Batch از Job ها با `Bus::batch()`
- 61. ردیابی پیشرفت Batch ها
- 62. مدیریت خطا در Batch ها: متد `catch()`
- 63. لغو یک Batch در حال اجرا: `cancel()`
- 64. ثبت Callbacks برای Batch ها (Finished, Then, Catch)
- 65. نمایش وضعیت Batch ها در رابط کاربری
- 66. معرفی Laravel Horizon: داشبورد قدرتمند صفها
- 67. نصب و راهاندازی Laravel Horizon
- 68. پیکربندی Horizon در فایل `config/horizon.php`
- 69. تنظیمات محیطی برای Horizon
- 70. اجرای Horizon: `php artisan horizon`
- 71. مدیریت Horizon Supervisors
- 72. استفاده از Horizon Dashboard
- 73. مشاهده Job های در حال انتظار (Pending Jobs)
- 74. مشاهده Job های در حال پردازش (Processing Jobs)
- 75. مشاهده Job های موفق (Completed Jobs)
- 76. مشاهده Job های شکستخورده (Failed Jobs) در Horizon
- 77. ردیابی Metric ها و Throughput صفها در Horizon
- 78. تنظیمات توازن بار (Load Balancing) در Horizon (auto, simple, balance)
- 79. تگگذاری Job ها برای فیلتر و جستجو در Horizon
- 80. احراز هویت (Authentication) برای دسترسی به داشبورد Horizon
- 81. صفبندی Event ها: رابط `ShouldQueue` برای Listeners
- 82. ساخت Event Listener با `ShouldQueue`
- 83. صفبندی ایمیلها: رابط `ShouldQueue` برای Mailable
- 84. ارسال ایمیلهای صفبندی شده
- 85. صفبندی نوتیفیکیشنها: رابط `ShouldQueue` برای Notifications
- 86. ارسال نوتیفیکیشنهای صفبندی شده
- 87. صفها و تراکنشهای پایگاه داده (Database Transactions)
- 88. اجرای Job ها بعد از Commit شدن تراکنش: `afterCommit()`
- 89. مدیریت خطا در Job های `afterCommit()`
- 90. بررسی محدودیتها در استفاده از `afterCommit()`
- 91. تست Job ها با استفاده از `Queue::fake()`
- 92. اطمینان از ارسال Job ها: `Queue::assertPushed()`
- 93. تست Job های زنجیرهای و دستهبندی شده
- 94. سفارشی سازی Job Middleware
- 95. پیادهسازی Job Rate Limiting (محدودیت نرخ)
- 96. جلوگیری از تداخل Job ها: `withoutOverlapping()`
- 97. انتخاب درایور مناسب برای سناریوهای مختلف
- 98. بهینهسازی عملکرد صفها: نکات و ترفندها
- 99. مدیریت Workers در Zero-Downtime Deployment
- 100. امنیت صفها: ملاحظات و بهترین شیوهها
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.