💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ نیما
نحوه اجرای دستور work
مهرداد سامی حل شده توسط مهرداد سامی

با سلام بر استاد عزیز و تشکر از آموزش‌های خوبتون :)

سوالی داشتم. فرض کنید یک job ارسال ایمیل داریم که به کاربرا بعد نهایی شدن رزروشون ایمیل میزنه. تعداد رزرو‌ها هم در لحظه بالا هستش

حالا سه تا سوال داشتم:

1) دستور php artisan queue:work --tries=3 رو باید توی cron بزاریم؟ در واقع این دستور کجا باید در حال اجرا باشه دائما؟

2) اگر این دستور توی cron بره مشکلی ایجاد نمیشه؟ من نگرانیم سر این هستش cron زمان زیادی صرف کنه (مثلا برای ارسال ایمیل) و باعث بشه cron بعدی هم اجرا شه و خدایی نکرده اگر ردیفی هنوز به دلیل ارسال نشدن توی جدول بود دوبار ارسال بشه (من صف رو تا پارسال خودم با دیتابیس و cron هندل میکردم و بد بود ولی پارسال برای یه پروژه لاراولی یبار صف رو از همین روش راه انداختم و چون تجربه اولم بود نمی‌دونم سر چی سرور down شد و آخر نفهمیدم برای چی بود باعث شد یکم بترسم ازش)

3) میشه استاد این دستور رو یه توضیحی دربارش بدید؟ php artisan make:mail TopicCreated --markdown=topic-created (این TopicCreated چی هست؟)

ممنونم

سلام .... 

برای اجرای دستور queue:work یک راه همون بحث cron هست که خب خیلی جالب نیست ... ولی راه بهتری که وجود داره نصب نرم افزار supervisor روی سرور هستش ... شما این نرم افزار رو نصب میکنید و بهش دستوری که میخواید همیشه بالا باشه رو میدید بهش ... خود لاراول هم پیشنهادش دقیقا نصب همین پکیج هستش که از اینجا میتونید نحوه نصب و راه اندازی اون رو ببینید . 

داخل لاراول برای اینکه ما بتونیم ایمیل بفرستیم نیاز به ۲ تا فایل داریم ... یکی فایل front و دیگری هم فایلی که بتونیم داخلش بنویسیم چه زمانی یا به چه صورت ایمیل ارسال بشه ... اصطلاحا بهش میگن فایل‌های Mailbale ... اون TopicCreated دقیقا همون فایل Mailable هستش ... این موضوع رو در داخل پروژه اول به صورت کامل توضیح دادم ... میتونید از لینک زیر اون رو مشاهده کنید ....

ارسال ایمیل در لاراول

موفق باشید . 

بهترین پاسخ
مهرداد سامی ۳۱ خرداد ۱۳۹۸، ۱۸:۰۲

ممنونم استاد :)

نیما ۰۱ تیر ۱۳۹۸، ۱۳:۳۹