PDA

View Full Version : سوال: چطور یک عملیات به صورت پشته در php ایجاد کنیم ؟



vahedtanha75
دوشنبه 08 خرداد 1396, 22:00 عصر
اول خدمت عزیزانی که تاپیک رو باز کردن سلام عرض میکنم و متشکرم که وقت گذاشتید.
سوالی که داشتم یکم ساده اس، اما راه حلی براش پیدا نکردم.

فرض کنید ما یک جدول اطلاعاتی داریم که شماره موبایل یک میلیون کاربر رو داره، حالا میخواییم هر بار، یک اس ام اس به این یک میلیون کاربر ارسال کنیم.

خب استفاده از حلقه ها، معقول ترین کار هست، اما برای یک میلیون کاربر، انجام این عملیات در یک درخواست غیر ممکن هست، چون محدودیت زمانی هم برای ما هست و هم برای خود php. یعنی با خطا رو به رو خواهیم شد.

راه حل این کار این هست که این درخواست ها به صورت پشته شده یا در معنایی بنام صف انتظار و با یک فاصله زمانی و به ترتیب انجام بشن.
یعنی سرور دستور ها رو برای آرایه های 100 تایی از آرایه 1 میلیونی انجام بده.

سوال من دقیقاً همینجاست، چطور میشه برای سرور از طریق php این دستور پشته رو داد. منظورم Cron Job ها نیست. منظورم یه چیزی تو مایه های NodeJS هست که سرور های مختلفی رو ایجاد میکنه و درخواست ها در سرور های مختلف به صورت هم زمان اجرا میشن.

چطور میشه چنین موردی رو توی php اجرا کرد ؟

پیشاپیش از راهنمایی شما متشکرم.

realAnvari
سه شنبه 09 خرداد 1396, 16:03 عصر
چرا نمیشه با حلقه های تکرار انجام داد ؟

فیسبوک میگه دو میلیارد کاربر داره . اونا پس چطوری انجام میدن . و بدون وقفه همه وارد میشیم تو گوگل هم همینطور . شاید تنظیمات سرورت مشکل داره یا محدودیت برات قائل شدن . و شاید بتونی اگه خودت سرور داری از تنظیمات اصلی استفاده کنی و دستکاری کنی بی محدودیت بشه برات

plague
سه شنبه 09 خرداد 1396, 17:42 عصر
پردازش چند نخی یا multi thread رو میخای ظاهرا
جستجو کن کلاس و روش کار باهاش رو پیدا میکنی

mehran27
چهارشنبه 14 شهریور 1397, 07:58 صبح
سلام
از وب سرویسهای موجود در پنلهای پیامکی میتوانید استفاده کنید.
نمونه کد و ماژول مخصوص cmsها هم دارند.

خود من برای برنامه ها و سایتهام از ریتون پیامک (http://RytonSMS.ir) استفاده میکنم تماس بگیرید بهتون پنل رایگان هم میدن


موفق باشید