【发布时间】:2019-09-02 02:51:22
【问题描述】:
不久前,我为一家公司构建了一个应用程序,现在他们希望对其进行一些修改。该应用程序的基础是用于医疗保健研讨会和咨询的 RSVP 系统。他们现在希望每天向所有研讨会/咨询时间在 24 小时内的客户发送电子邮件和短信提醒。因此,我创建了代码来提取 24 小时内发生的所有研讨会/咨询。我知道我需要在他们的服务器上设置一个 CRON 作业,这没什么大不了的,但是您将如何进行调度?我最好创建 2 个新命令(一个用于研讨会,一个用于咨询)并使用 Kernel.php 文件中的 $schedule->command('some:newCommand --force)->dailyAt(2:00); ,还是只使用 $schedule->command('queue:work --force)->dailyAt(2:00); 。我只是想了解最佳/最有效的做法。
【问题讨论】:
-
这最终取决于您。我喜欢让我的命令做一件事;如果发送研讨会通知使用与发送咨询通知相同的代码,我会将其作为一项任务。如果它们是完全不同的代码,我会执行两个命令。
-
您为什么要考虑使用
queue:work?它用于运行排队作业,并且应该在长期(认为:永久)进程中运行。 -
好吧,可能需要发送 0-200 封电子邮件/文本。所以我想我很好奇你将如何分派工作和/或事件/听众?我的意思是对我来说有意义的是获取我的数据,然后循环遍历并在循环的每次迭代中调度作业。这是最佳做法吗?
标签: laravel cron task schedule