Laravel 8 中排队邮件的速率限制

问题描述 投票:0回答:0

我正在尝试使用速率限制来限制 Laravel 8 项目中的传出邮件。我有两个邮件队列,名为

email
email2
。我希望每个队列限制为每分钟 15 封电子邮件。

在我的 AppServiceProvider.php 中,我有

        RateLimiter::for('email', function ($job) {
            return Limit::perMinute(15)->by($job->queue);
        });

这是我的邮件之一

class AuthTokenMail extends Mailable implements ShouldQueue
{
    use Queueable, SerializesModels;

    public function __construct(int $code)
    {
        $this->onQueue('email');
    }

    public function build()
    {
        return $this->text('emails.authtoken');
    }
    
    public function middleware()
    {
        return [new RateLimited('email')];
    }

}

但是当我运行它时,没有节流。我每分钟仍然收到超过 50 封电子邮件。

laravel laravel-8 rate-limiting
© www.soinside.com 2019 - 2024. All rights reserved.