علیرضا
3 سال پیش توسط علیرضا مطرح شد
2 پاسخ

فرستادن ایمیل به همه کاربران

سلام من میخوام وقتی مقاله ای برا وبسایت منتشر میکنم به همه کاربرا ایمیل ارسال بشه
همه کار هاشو انجام دادم به صورت job و queue
ولی مشکل اینجاست که وقتی میخوام queue رو انجام بدم باید از دستور php artisan queue:work استفاده کنم
که نمیخوام اینطوری باشه
مثلا هر روز یه تایمی این queue به طور خودکار انجام بشه بدون اینکه با artisan بنویسم


ثبت پرسش جدید
حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 3 سال پیش مطرح شد
0

سلام
میتونید این دستور را با کرون جاب ران کنید


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 3 سال پیش آپدیت شد
0

اولا در خصوص استفاده از Queue ها و سرور اصلیتون شما اصلا نباید هر سری دستی دستور queue:work رو اجرا کنید. بلکه باید همیشه این دستور ران شده باشد و حتی اگر به هر دلیلی متوقف شد دوباره اتومات ران بشه. (با استفاده از ابزارهایی مثل Supervisor و نیازمند VPS)

مسئله دوم هم اینکه queue به تنهایی راهکار شما نیست و اصلا جایگاهش جای دیگریست. منطقا شما نیاز به یک Event و Listener دارید. به نحوی که در کنترلرتون یا یک Observer زمانی که مقاله جدید منتشر شد یک Event رو صدا می‌زنید. و بعد در Listener مربوطه، دستور ارسال ایمیل به لیست مورد نظرتون رو می‌نویسید. حالا برای اینکه سیستم دچار مشکل نشه این فرایند ارسال ایمیل ها رو در قالب صف (queue) انجام می‌دیم.

@aabdolmaleki25
@hosseinshirinegad98


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

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