Sabtu, 06 Januari 2024

Laravel 10.39 Dirilis, Ada fitur Roun-robin/Load-balancing Mailer, Max Tries Queue Job dll

Minggu ini, tim Laravel merilis v10.39 dengan round-robin mailer, maksimum percobaan dinamis pada pekerjaan antrian, dan lainnya. Berikut sedikit informasi tentang fitur-fitur baru yang diperkenalkan di Laravel v10.39 minggu ini:


Round-robin Mailer

Ahmed Shamim berkontribusi pada driver transport round-robin mailer yang mendistribusikan beban kerja pengiriman melalui beberapa transport:

Pada dasarnya, driver transport failover diperluas dari kelas driver transport roundrobin dengan hanya mengganti logika pemilihan transport berikutnya. Tetapi penggunaan kasus berbeda untuk kedua driver ini. Driver failover membantu mencapai ketersediaan tinggi dan roundrobin membantu mencapai load balancing.


Berikut adalah contoh pembaruan konfigurasi aplikasi pada file confi/mail.php di aplikasi Laravel Anda:

'roundrobin' => [
    'transport' => 'roundrobin',
    'mailers' => [
        'ses',
        'postmark',
    ],
],

Fitur ini didokumentasikan dalam dokumen resmi Mail mengenai konfigurasi round-robin. Terakhir, Anda dapat mempelajari lebih lanjut dalam dokumentasi load balancing Symfony's Mailer dan Pull Request #49435.


Maksimum Percobaan Dinamis pada Pekerjaan Antrian

@Di berkontribusi pada kemampuan untuk menentukan maxTries secara dinamis untuk pekerjaan antrian, mirip dengan backoff(). Sebelumnya, Anda dapat menentukan nilai dinamis melalui properti $tries (yang masih memiliki prioritas), tetapi sekarang Anda dapat menentukan metode pada pekerjaan Anda:

class TestJob implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
 
    // If the property is still defined, it precedes over the tries() method,
    // providing the same behavior as the backoff definition
    public $tries = 3;
 
    public function tries(): int
    {
        return config('test_job.retries'); // Example: Get the number of tries from config
    }
}


Catatan Rilis


Anda dapat melihat daftar lengkap fitur dan pembaruan baru di bawah ini dan perbedaan antara 10.38.0 dan 10.39.0 di GitHub. Catatan rilis berikut ini berasal langsung dari changelog:


v10.39.0

  • [9.x] Dukungan untuk phpredis 6.0.0 oleh @MichalHubatka di https://github.com/laravel/framework/pull/48380
  • [10.x] Maksimum percobaan dinamis untuk pekerjaan antrian oleh @mechelon di https://github.com/laravel/framework/pull/49473
  • [10.x] Hindari TypeError saat menggunakan aturan validasi json saat PHP < 8.3 oleh @Xint0 di https://github.com/laravel/framework/pull/49474
  • [10.x] Perbaiki kompilasi pernyataan use dalam templat Blade oleh @MrPunyapal di https://github.com/laravel/framework/pull/49479
  • [10.x] Izinkan pengujian validasi prompt oleh @cerbero90 di https://github.com/laravel/framework/pull/49447
  • [10.x] Tambahkan driver transport 'Roundrobin' Symfony mailer oleh @me-shaon di https://github.com/laravel/framework/pull/49435

0 komentar:

Posting Komentar