gpt4 book ai didi

laravel - 放慢 Laravel worker

转载 作者:可可西里 更新时间:2023-11-01 11:17:57 28 4
gpt4 key购买 nike

我已经将 Redis 与 Laravel 连接起来用于排队电子邮件,一切都很好......但在开发环境中,我使用 mailtrap.io(免费版)。

问题是 mailtrap 每秒只允许接收 2 封电子邮件,所以我从来没有收到所有排队的电子邮件,因为 redis 疯狂地发送电子邮件......可能每秒 10 封

有什么办法可以减慢队列速度,使其每秒最多发送 2 封邮件?

最佳答案

是的,这是一个解决方案,它们被称为工作:)您可以创建一个文件来专门在 Jobs 文件夹和这样的类中发送电子邮件

class SendPushNotification extends Job implements ShouldQueue
{
use InteractsWithQueue, SerializesModels;

protected $pushNotification;

/**
* Create a new job instance.
*
* @return void
*/
public function __construct(PushNotification $pushNotification)
{
$this->pushNotification = $pushNotification;
}

/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$this->pushNotification->send();
}
}

然后在 Controller 中调用类

$this->dispatch(new SendPushNotification($pushNotification))->delay(1);

延迟是几秒钟,你可以创建一个带有数组的构造函数来接收两封电子邮件,或者你想要的很多,也许一些 var 可以通过 .env 来改变,以改变每秒的电子邮件数量

关于laravel - 放慢 Laravel worker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42368407/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com