کتاب صوتی مدیریت صفها (Queues) در لاراول: پردازش وظایف پسزمینه
افزایش کارایی و مقیاسپذیری برنامههای لاراول با مدیریت صفها: دوره جامع پردازش وظایف پسزمینه معرفی دوره: مدیریت هوشمند وظایف با صفها (Queues) در لاراول آیا تا به حال با برنامههای لاراول سر و کار د...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره مدیریت صفها (Queues) در لاراول: پردازش وظایف پسزمینه
موضوع کلی: برنامه نویسی
موضوع میانی: لاراول (Laravel)
📋 سرفصلهای دوره
- 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. امنیت صفها: ملاحظات و بهترین شیوهها
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
تگها:
Backend
Background Jobs
Laravel
Laravel Jobs
Laravel Queues
PHP
Queues
Task
برنامه نویسی
پردازش پس زمینه
توسعه وب
صف
لاراول
مدیریت صف
وب اپلیکیشن
وظایف
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.