0Pricing
PHP Academy · Ders

İşler Oluşturma ve Dağıtma

Artisan ile bir iş sınıfı oluşturun ve bunu denetleyicilerden dağıtın.

İşler Oluşturma ve Dağıtma, CoddyKit'te ücretsiz bir PHP Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, PHP Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. PHP Academy kursu toplamda 4 dersten oluşur.

İş Nedir

İş, kuyruktaki tek bir çalışma birimini kapsülleyen bir PHP sınıfıdır. Her iş, görevi yürütmek için kuyruk çalışanının çağırdığı handle() yöntemini uygular.

İş Oluşturma

Bir iş sınıfı oluşturmak için Artisan'ı kullanın. --queue seçeneği, işi kuyruğa alınabilir hale getirir (varsayılan).

$ php artisan make:job SendWelcomeEmail

İş Sınıfı Yapısı

Bir işin handle() yöntemi vardır ve yapıcısı aracılığıyla veri alabilir.

<?php
namespace App\Jobs;

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

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

    public function __construct(private User $user) {}

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

İş Gönderme

İşi uygulamanızın herhangi bir yerinden gönderin.

<?php
// Dispatch to queue:
SendWelcomeEmail::dispatch($user);

// Dispatch with delay:
SendWelcomeEmail::dispatch($user)->delay(now()->addMinutes(10));

// Dispatch synchronously (bypass queue):
SendWelcomeEmail::dispatchSync($user);

İş Gönderme Yardımcıları

Genel dispatch() yardımcısını da kullanabilirsiniz.

<?php
dispatch(new SendWelcomeEmail($user))
    ->onQueue("emails")
    ->delay(now()->addHour());

onQueue()

Gönderme sırasında belirli bir adlandırılmış kuyruğu hedefleyin.

<?php
SendWelcomeEmail::dispatch($user)->onQueue("emails");

onConnection()

Belirli bir kuyruk bağlantısını hedefleyin (örneğin bir iş için SQS, başka bir iş için Redis).

<?php
SendWelcomeEmail::dispatch($user)->onConnection("sqs");

Modelleri Serileştirme

SerializesModels özelliği, işe aktarılan Eloquent modellerinin kimliklerine göre serileştirilmesini ve çalışan tarafından veritabanından yeniden alınmasını sağlar; böylece güncelliğini yitirmiş verilerden kaçınılır.

afterResponse()

Bir işi HTTP yanıtı kullanıcıya gönderildikten sonra gönderin; kullanıcı, gönderme işlemine ilişkin ek yükü beklemez.

<?php
App::terminating(fn () => SendWelcomeEmail::dispatch($user));

İşleri Sınama

İşleri gerçekten çalıştırmadan gönderildiklerini doğrulamak için sınamalarda Queue::fake() kullanın.

<?php
Queue::fake();
$this->post("/register", $data);
Queue::assertPushed(SendWelcomeEmail::class);

Benzersiz İşler

Aynı veriler için yinelenen işlerin kuyrukta birikmesini önlemek üzere ShouldBeUnique uygulayın.

Özet

İşleri Artisan ile oluşturun. ShouldQueue ve handle() uygulayın. ::dispatch() ile gönderin. Kuyrukları onQueue() ile hedefleyin. Queue::fake() ile sınayın.

Hızlı Kontrol

Bir iş sınıfını kuyruğa alınabilir yapan arayüz hangisidir?

Sıkça Sorulan Sorular

“İşler Oluşturma ve Dağıtma” dersi ücretsiz mi?

Evet — “İşler Oluşturma ve Dağıtma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve PHP Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. PHP Academy kursu toplamda 4 dersten oluşur.

“İşler Oluşturma ve Dağıtma” dersinde ne öğreneceğim?

Artisan ile bir iş sınıfı oluşturun ve bunu denetleyicilerden dağıtın. PHP Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

PHP Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te PHP Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“İşler Oluşturma ve Dağıtma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu PHP Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her PHP Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Kuyruk Kavramları ve Sürücüleri
  2. İşler Oluşturma ve Dağıtma
  3. İş Yeniden Denemeleri, Gecikmeleri ve Zincirleme
  4. Laravel Horizon ile Kuyrukları İzleme
← PHP Academy Sayfasına Dön