🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۷ داوود
کار متد dispatchNow
جامعه لاراول ایجاد شده در ۲۲ اسفند ۱۴۰۱

کار متد dispatchNow چیه و ایا در لاراول 8 میتوان از این متد برای کلاس mailاستقاده کرد؟

سلام داوود جان

متد dispatchNow در لاراول برای فرستادن یک کار به صورت همزمان (Synchronous) و بدون ایجاد یک Job ذخیره شده در صف از طریق تابع dispatch مورد استفاده قرار میگیره.

از متد dispatchNow میتونید در کلاس Illuminate\\Mail\\Mailable برای ارسال ایمیل درخواستی بدون نیاز به ایجاد یک Job استفاده کنید. با فراخوانی این متد، ایمیل فوراً ارسال شده و برنامه به صورت همزمان منتظر اتمام این فرآیند میمونه.

صادق برزگر ۲۲ اسفند ۱۴۰۱، ۱۱:۰۹

ارور بهم نشون داد

داوود ۲۲ اسفند ۱۴۰۱، ۱۲:۱۰

سلام داوود عزیز

متد dispachnow در لاراول ۱۰ منسوخ و dispachsync جایگزین اون شده .

  • Functions and methods around dispatchNow, deprecated to encourage developers to use dispatchSync, the only supported method for immediate dispatch


احمدرضا فاطمی کیا ۲۳ اسفند ۱۴۰۱، ۱۲:۴۲

بازم بخطا میخوریم چنین متدی وجود ندارد

        Mailable::dispachsync($this->user, new SendMagicLink($this, $option));



Method Illuminate\\Mail\\Mailable::dispachsync does not exist.
Mahdi ۲۴ اسفند ۱۴۰۱، ۱۲:۱۷

این لینک رو بررسی کنید:

https://mailtrap.io/blog/laravel-mail-queue/amp/

احمدرضا فاطمی کیا ۲۴ اسفند ۱۴۰۱، ۱۲:۳۷

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

public function send(array $option)
    {
        Mail::to($this->user)->send(new sendMagicLink($this,$option));
    }

و کلاس mailable رو با کلاس shuoldqueue ایمپیلیمنت کردم

داوود ۲۵ اسفند ۱۴۰۱، ۱۴:۰۰

بله مشکلی نیست.

بهترین پاسخ
احمدرضا فاطمی کیا ۲۵ اسفند ۱۴۰۱، ۱۵:۴۶