我如何浏览我的 Redis 队列中所有待处理的作业,以便我可以取消具有特定 emailAddress-sendTime 对的 Mailable?
我正在使用 Laravel 5.5 并且有一个我正在成功使用的 Mailable,如下所示:
$sendTime = Carbon::now()->addHours(3);
Mail::to($emailAddress)
->bcc([config('mail.supportTeam.address'), config('mail.main.address')])
->later($sendTime, new MyCustomMailable($subject, $dataForMailView));
当这段代码运行时,一个作业被添加到我的 Redis 队列中。
我已经阅读了 Laravel docs但仍然感到困惑。
如何取消 Mailable(阻止它发送)?
我喜欢在我的 Laravel 应用程序中编写一个网页,这对我来说很容易。
或者也许已经有一些工具可以让这一切变得简单(也许是 FastoRedis?)?在那种情况下,有关如何以这种方式实现此目标的说明也会非常有帮助。谢谢!
更新:
我尝试过使用 FastoRedis 浏览 Redis 队列,但是我不知道如何删除一个 Mailable,比如红色箭头指向这里:
更新:
最佳答案
让它更简单。
不要发送带有后一个选项的电子邮件。您必须使用 later 选项发送一个 Job,这个 Job 将负责发送电子邮件。
在此作业中,在发送电子邮件之前,检查 emailAddress-sendTime 对。如果正确,则发送电子邮件,如果不正确,则返回 true,电子邮件将不会发送,作业将完成。
关于laravel - 如何在 Laravel 或 Redis 中取消排队的作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48255735/