راکت

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

2 پاسخ

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

ثبت پرسش جدید

پاسخ‌ها

2
حسین شیری نژاد
حسین شیری نژاد
@hosseinshirinegad98

تخصص: programmer

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

محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

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

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

@aabdolmaleki25
@hosseinshirinegad98

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

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

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