مهدی
3 سال پیش توسط مهدی مطرح شد
2 پاسخ

timeout

سلام یه سوالی برام پیش اومده time out دقیقا توی job ها چکار میکنه وظیفش چیه دقیقا


ثبت پرسش جدید
Saman
تخصص : برنامه نویس وب
@samanzdev 3 سال پیش مطرح شد
0

سلام
یه نگاهی به این لینک بندازید
https://laravel.com/docs/8.x/queues
@MM20001378


مهدی
@MM20001378 3 سال پیش مطرح شد
0

ببینید بطور مثال من timeout رو دادم 10ثانیه و کاری که قراره انجام بشه 20 ثانیه طول میکشه خب چیزی که من متوجه شدم اینه که اگر کار ما بیش از اون چیزی که ما توی timeout تعیین کردیم طول کشید خود به خود failed میشه و دیگه اون کار رو انجام نمیده
سوال اول اینکه این برداشت درسته ؟؟؟
و سوال دوم اینکه اگه درسته چرا توی کد من این اتفاق نمیوفته

<?php

namespace App\Jobs;

use App\Models\User;
use Exception;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;

class Welcome implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
    private $user;
    // public $tries= 5;
    public $timeout = 2;
    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct(User $user)
    {
        $this->user = $user;
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        sleep(10);

        var_dump('your welcom' . $this->user->name);
    }

    // public function retryUntil()
    // {
    //     return now()->addSeconds(20);
    // }

}

@samanzdev


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

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