调度laravel命令

调度laravel命令,laravel,cron,task,schedule,Laravel,Cron,Task,Schedule,所以不久前我为一家公司开发了一个应用程序,现在他们想对它稍加修改。应用程序的基础是用于医疗研讨会和咨询的RSVP系统。现在,他们希望每天向所有在24小时内进行研讨会/咨询的客户发送一次电子邮件和文本提醒。因此,我创建了一个代码,用于在24小时内收集所有研讨会/咨询。我知道我需要在他们的服务器上设置一个CRON作业,这不是什么大问题,但是您将如何安排呢?我最好创建两个新命令,一个用于研讨会,一个用于咨询,并使用$schedule->command'some:newCommand-force->da

所以不久前我为一家公司开发了一个应用程序,现在他们想对它稍加修改。应用程序的基础是用于医疗研讨会和咨询的RSVP系统。现在,他们希望每天向所有在24小时内进行研讨会/咨询的客户发送一次电子邮件和文本提醒。因此,我创建了一个代码,用于在24小时内收集所有研讨会/咨询。我知道我需要在他们的服务器上设置一个CRON作业,这不是什么大问题,但是您将如何安排呢?我最好创建两个新命令,一个用于研讨会,一个用于咨询,并使用$schedule->command'some:newCommand-force->dailyAt2:00;在Kernel.php文件中,或者只需$schedule->command'queue:work-force->dailyAt2:00。我只是想了解最佳/最有效的做法。

就我的2美分

使用$schedule->job。。。相反 在有监督的过程中工作 schedule->job将计算出所有需要发送的消息,并为每个消息传输创建一个作业。所以,一份能创造更多工作的工作。 使用failed_jobs表跟踪是否有人没有收到消息。
这最终取决于你。我喜欢让我的命令做一件事;如果发送研讨会通知与发送咨询通知使用相同的代码,我会将其作为一项任务。如果它们是完全不同的代码,我会执行两个命令。为什么要考虑使用queue:work?它用于运行排队作业,应该在一个长期的think:permanent进程中运行。问题是可能需要发送0-200封电子邮件/文本。所以我想我很好奇你会如何分配作业和/或事件/侦听器?我的意思是,对我来说有意义的是获取我的数据,然后循环,并在循环的每次迭代中分派作业。这是最佳实践吗?那么你的意思是,我应该做一个主要工作,然后从该工作中,为每个客户发送次要工作电子邮件/文本?是的,这正是我要做的-因为我想看到失败的工作。