@behzad.azizan
@nimageneral
@abedim910
من میخوام یک ثبت نام رو انجام بدم با صف البته برای مثال هست اما ارور میده
کنترلر
$user=User::created([
'name'=> "alireza14",
'email'=>'net17@gmail.com',
'password'=>bcrypt("12344")
]);
sendmail::dispatch($user)->onQueue("email")->delay(now()->addSeconds(2));
job هم اینه
<?php
namespace App\Jobs;
use App\User;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
class sendmail implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $user;
// public $tries=3;
public function __construct(User $user)
{
$this->user=$user;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
echo "masoud".$this->user;
}
}
ارور اینه
در ضمن داخل متد handle به جای echo میتونی از var_dump استفاده کنی
به این ترتیب اجرای کدها متوقف نمیشه و سایر مراحل رو هم میتونی ببینی
var_dump("sending email to ". $this->user->name);
با توجه به اینکه ۵ ثانیه هم delay اضافه کردی، استفاده از Log فِساد هم میتونه مناسب باشه.
\Log::info("sending email to ". $this->user->name);
متن خطا میگه این کلاس Job انتظار دریافت Instance ی از کلاس User رو داره
اما null رو میگیره
علتش هم خطای تایپی در قسمتی هست که User رو میسازی..
User::created
رو به
User::create
تغییر بده، باید مشکل حل بشه
در ضمن داخل متد handle به جای echo میتونی از var_dump استفاده کنی
به این ترتیب اجرای کدها متوقف نمیشه و سایر مراحل رو هم میتونی ببینی
var_dump("sending email to ". $this->user->name);
با توجه به اینکه ۵ ثانیه هم delay اضافه کردی، استفاده از Log فِساد هم میتونه مناسب باشه.
\Log::info("sending email to ". $this->user->name);
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟