laravel queue rate limit
1.0.0
간단한 laravel queue rate limit
3.* 버전은 Laravel 7+에서만 호환됩니다.
$ composer require mxl/laravel-queue-rate-limit
Laravel 6의 경우 2.* 버전을 사용하세요.
$ composer require mxl/laravel-queue-rate-limit " ^2.0 "
Laravel 5의 경우 1.* 버전을 사용하세요.
$ composer require mxl/laravel-queue-rate-limit " ^1.0 "
Laravel 5.5+에서는 자동 검색 기능을 사용하여 MichaelLedinLaravelQueueRateLimitQueueServiceProvider::class
공급자에 추가합니다.
이 패키지는 이전 Laravel 버전과 호환되지 않습니다.
config/queue.php
에 속도 제한을 추가합니다.
' rateLimits ' => [
' mail ' => [ // queue name
' allows ' => 1 , // 1 job
' every ' => 5 // per 5 seconds
]
]
작업을 대기열에 넣을 때 sync
연결을 사용하지 않는지 확인하세요. config/queue.php
의 default
속성을 참조하세요.
대기열 작업자 실행:
$ php artisan queue:work --queue default,mail
그런 다음 여러 작업을 default
및 mail
대기열에 푸시합니다.
Mail:: queue (..., ' mail ' );
Mail:: queue (..., ' mail ' );
Mail:: queue (..., ' mail ' );
Mail:: queue (..., ' default ' );
Mail:: queue (..., ' default ' );
default
대기열 작업은 정상적으로 실행되는 반면 mail
대기열 작업만 속도가 제한되는 것을 볼 수 있습니다.
QueueServiceProvider
확장:
<?php
namespace App Providers ;
class QueueServiceProvider extends MichaelLedin LaravelQueueRateLimit QueueServiceProvider
{
protected function registerLogger ()
{
$ this -> app -> singleton ( ' queue.logger ' , function () {
return null ;
});
}
}
config/app.php
의 providers
배열에 추가합니다.
<?php
return [
// ...
' providers ' => [
// Laravel Framework Service Providers
// ...
// Application Service Providers
// ...
App Providers QueueServiceProvider::class,
// ...
]
];
자세한 내용은 LICENSE 파일을 참조하세요.