🔥 با کمک هوش مصنوعی در کمتر از 6 ماه فول‌استک شوید ...
۰ ثانیه
۰ دقیقه
۰ ساعت
۷ دکتر پرتو ابطحی
کار متد 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.
اورنگ چلبی ۲۴ اسفند ۱۴۰۱، ۱۲:۱۷

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

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 ایمپیلیمنت کردم

دکتر پرتو ابطحی ۲۵ اسفند ۱۴۰۱، ۱۴:۰۰

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

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