یلدا ادامه داره... ❤️ ۴۰ درصد تخفیف همه دوره‌ها

استفاده از تخفیف‌ها
ثانیه
دقیقه
ساعت
روز
محمد امیری
4 سال پیش توسط محمد امیری مطرح شد
4 پاسخ

صف ها در لاراول

سلام به همگی دوستان عزیز.
یک چالشی که باهاش تو پروژه برخوردیم اینه که ما میخوایم به مثلا 3000 تا کاربر اس ام اس یا ایمیل ارسال کنیم بعد اینارو میندازیم تو صف تا مثلا به سرور فشار زیادی نیاد و به خاطر دلایلی که خودتون احتمالا میدونید.اما به نظرتون این خیلی زمانبر نیست؟مثلا دو فردا دیگه بخوایم به 10000 تا کاربر ایمیل بزنیم این دو روز طول میکشه تنا همه ایمیل هارو بفرسته در حالیکه ما میخوایم مثلا تو یک بازه خاص ایمیل ها به دست کاربرامون رسیده باشن.اگه راه حل مناسبی دارید ممنون میشیم در اختیارمون قرار بدید.
با تشکر فراوان


ثبت پرسش جدید
mahdi khanzadi
تخصص : Software engineer
@khanzadimahdi 4 سال پیش مطرح شد
2

میتونی تعداد worker ها رو بیشتر کنی مثلا 10 تا بزاری. یا اینکه یه سرویس جداگانه واسه ارسال ایمیل طراحی کنی (حالت میکروسرویس) و ارسال ایمیل ها رو به اون واگذار کنی.


محمد امیری
تخصص : backend coder
@mohammadeng3731 4 سال پیش مطرح شد
0

@khanzadimahdi
ممنون از کمکت.فقط اینکه همه این ایمیل ها داخل یک صف هستند و اگه چنتا worker ران کنم واقعا رو سرعت تاثیر محسوسی داره؟ با سوپر وایزر باید این کارو انجام بدیم دیگه درسته؟


مهدی عقیقی
تخصص : برنامه نویس وب
@MehdiAghighi 4 سال پیش مطرح شد
0

وقتی از چند تا وورکر استفاده کنید مثلا 10 تا ، همزمان 10 تا جاب با هم انجام میشه و خب یعنی زودتر این اتفاق می افته.

یه سوالی که ذهنم رو درگیر کرده اینه که برای چی طول کشیدن این مورد برای شما مهمه ؟ ببینید ارسال ایمیل ها هر کدوم اگر یک ثانیه طول بکشه ( که نمی کشه ) 3000 تا ایمیل توی 3000 ثانیه انجام میشه که میشه 50 دقیقه.

یعنی اون شکلی نیست که مثلا بخواید چند روز صبر کنید تا این ها بره که.


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
0

از اونجایی که PHP کدها رو به شکل synchronous اجرا میکنه
هدف اصلی در استفاده از صف اینه که کدهای ما یک جا اجرا نشند
و فشار روی سرور نباشه

حالا اگر می‌خواهی این روند سرعت پیدا کنه، یک راهش همون افزایش تعداد Worker هاست
که از طرف دیگه منابع سرور رو درگیر میکنه

اگر واقعا اولیت اجرای جاب ها بالاست
و سرعت اجراشون هم حائز اهمیته
پیشنهاد @khanzadimahdi بسیار مناسبه
یه سرویس بسازید که وظیفه اش تنها همین باشه


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام