راکت

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

4 پاسخ

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

ثبت پرسش جدید

پاسخ‌ها

4
mahdi khanzadi
mahdi khanzadi
@khanzadimahdi

تخصص: Software engineer

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

محمد امیری
محمد امیری
@mohammadeng3731

تخصص: backend coder

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

شاید پاسخ شما همین‌جا باشد

مهدی عقیقی
مهدی عقیقی
@MehdiAghighi

تخصص: برنامه نویس وب

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

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

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

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

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

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

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

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

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