آموزش ساخت Queue در PHP – قسمت اول

  • آپدیت شده در تاریخ

آموزش ساخت Queue در PHP

در این سری از آموزش قصد داریم در مورد اینکه Queue چیست و چه کاربردی دارد و مثال هایی از ساخت Queue در PHP را باهمدیگر ببینم.

خیلی از مواقع در برنامه های تحت وب عملیاتی مانند ارسال ایمیل وجود دارند که زمان بر هستند و این پروسه ها ممکنه باعث کندی برنامه ی ما می شوند.. در این موارد Queue ها کار ما رو راحت تر میکنند.

با استفاده از قابلیت صف بندی (Queue) در php و اجرای کدها در پس زمینه، به شکل قابل ملاحظه ای سرعت سایت شما افزایش می یابد.

queue ها به شما این امکان را می دهند تا پردازش کارها و عملیات زمان بر همچون پردازش ویدیو یا ارسال ایمیل را به تعویق انداخته و بدین وسیله سرعت پاسخ دهی به درخواست های ارسالی به اپلیکیشن تحت وب خود را به شکل چشم گیری افزایش دهید.

 

در آموزش ساخت Queue در PHP قصد داریم به شما نحوه صف بندی کارها در PHP و نحوه پیاده سازی یک مثال ساده از مدیریت پروسه ها با Queue در PHP را به شما نمایش بدیم.

این صف (Queue) ها می توانند در دیتابیس (MySQL ..) یا Redis (نوعی دیتابیس NoSQL که در رم ذخیره می شود) ذخیره شوند .

آموزش ساخت Queue در PHP

اهمیت استفاده از Queue برای افزایش عملکرد

صف ها همه جا وجود دارند. زمانی که یک تصویر را از آیفون خود حذف می کند, به Bin منتقل و بعد از ۳۰ روز حذف می شود. این یک صف (Queue) است. بدون این صف بندی, شما نخواهید توانست تصویری که به اشتبا پاک شده است را بازگردانی (recovery) کنید.

زمانی که در هواپیما هستید و ۳ یا ۴ ایمیل را بصورت آفلاین می نویسید, آن را داخل پوشه outbox ذخیره می کنید تا زمانی که به کانکشن WIFI متصل شدید آن ایمیل ها ارسال بشند. این یک صف است.بدون این صف بندی شما نمی توانید چندین پیام را بصورت آفلاین بنوسید.

به معنای واقعی کلمه, یک queue مثل صف طولانی خرید مثلا در رستوران های مک دونالد است,  مدیران فقط سفارش مشتری بعدی را دریافت و آن را آماده می کنند. اگر فقط یک مدیر وجود داشت, پروسه صف بندی بسیار طول می کشید و درنهایت سود بزرگی از دست می رفت!

 

بنابراین یک صف (Queue) به شما اجازه می دهد که کار بین چندین پردازنده (که به نام “agents” یا “worker” در لاراول) تقسیم شود.

سه مثال وجود دارد که فقط اصول پایه صف بندی را نشان می دهد :

  1. Queue ها باعث بهتر شدن تجربه کاربری (UX) می شوند.
  2. Queue ها اجازه به عقب افتادن عملیات سنگین می شود که در نتیجه باعث ایجاد رابط کاربری قوی تری می شود.
  3. Queue ها اجازه تقسیم کارها بین تعداد زیادی به اصطلاح کارگر “worker” می شود.

تعجبی ندارد که اگر از Queue ها در اپلیکیشن تحت وب خود استفاده کنید, توسعه دادن آن لذت بخش تر و برنامه شما قوی تر می شود.

 

یک مثال سریع و ساده از ارسال اطلاع رسانی ایمیل بعد از خرید موفق را می زنم. اگر کاربر را مجبور کنید که صبر کند تا ایمیل به موقع برایش ارسال شود و سرور ایمیل شما کند باشد, مطمینا کاربر به اندازه اینکه بعد خرید, سریعا ایمیل “سلام , از خرید شما متشکریم . لینک های دانلود به شرح …” را دریافت کند, خوشحال نخواهد بود.

برای دستیابی به این سرعت از پاسخ رابط کاربری, نیاز است که اطلاع رسانی (notification) را در صف اطلاع رسانی ذخیره و آن را بعدا به زودی نه فورا, پردازش کنید.

بیاید شفاف ساز کنیم یک صف چیست : از لحاظ فنی , صف ها یک ساختار داده هستند که داده ها از یک سر صف وارد و از یک سر بعدی صف خارج می شوند.

یک مثال از کارواش و خط ماشین ها این است: اولین ماشین از خط وارد کارواش می شود و سپس از آن خارج می شود, و سپس دومین ماشین وارد میشود و به همین صورت ادامه پیدا می کند.

آموزش ساخت Queue در PHP

این همان دلیلی است که آن را FIFO می نامیم (اولین خروجی از اولین ورودی) و در حسابداری موجودی کالا هم استفاده می شود.

بنابراین قسمت دوم از مقاله آموزش ساخت Queue در PHP در مورد کار با صف ها و صف بندی کارها است. که شامل دو مثال زیر خواهد بود.

  1. چطور یک صف را پر کنید
  2. چطور یک صف را پردازش کنید.

 

امیدوارم قسمت اول از آموزش ساخت Queue در PHP برای شما مفید بوده و تونسته باشید درک خوبی از صف بندی در اپلیکیشن ها و اهمیت استفاده از آن بدست آورده باشید.

هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .

موفق و پیروز باشید.

حسن شفیعی توسعه دهنده وب و موبایل مدیر سایت علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم. اگر نیاز به برنامه نویس برای انجام پروژه و نوشتن اسکریپت های سمت وب, اپلیکیشن های اندروید و ios, پیدا کردن راه حل توسعه و غیره داشتید حتما از طریق تماس با ما/ واتساپ/ تلگرام بهم پیام بدید. برایتهیه هاست مطمین و پرسرعت کلیک کنید
برچسب ها : , ,
مطالب زیر را حتما بخوانید
دیدگاه کاربران

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دوره های آموزشی