Parçacıklara Dön
LaravelPHP

Laravel İş Kuyruğu

Zaman alan görevleri asenkron olarak yönetmek için kuyruğa alınabilir iş.

laravelqueuejobasync
<?php

namespace App\Jobs;

use App\Mail\WelcomeEmail;
use App\Models\User;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Mail;

class SendWelcomeEmail implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    public int 400">$tries = 3;
    public int 400">$backoff = 60;

    public function __construct(public User 400">$user) {}

    public function handle(): void
    {
        Mail::to(400">$this->user->email)->send(new WelcomeEmail(400">$this->user));
    }

    public function failed(\Throwable 400">$exception): void
    {
        logger()->error(class=class="text-emerald-400">"text-emerald-400">'Welcome email failed', [
            class=class="text-emerald-400">"text-emerald-400">'user' => 400">$this->user->id,
            class=class="text-emerald-400">"text-emerald-400">'error' => 400">$exception->getMessage(),
        ]);
    }
}

class=class="text-emerald-400">"text-gray">// Dispatch: SendWelcomeEmail::dispatch(400">$user);
class=class="text-emerald-400">"text-gray">// Delayed: SendWelcomeEmail::dispatch(400">$user)->delay(now()->addMinutes(5));

Nasıl Kullanılır

Şu komutla oluşturun: php artisan make:job SendWelcomeEmail. Controller'lardan veya event'lerden dispatch edin: SendWelcomeEmail::dispatch($user). İşler php artisan queue:work ile arka planda çalışır. Otomatik yeniden deneme için tries ve backoff kullanın.

İlgili Teknoloji

Laravel

Aklınızda Bir Proje mi Var?

Fikrinizi birlikte hayata geçirelim. 50+ teslim edilmiş projeyle sizi konseptten yayına hazır bir ürüne taşıyor; sabit fiyatlı tekliflerle özel yazılım geliştirme sunuyoruz. Hiçbir taahhüt olmadan ücretsiz danışmanlık alın.

veya ücretsiz görüşme ayarlayın