【发布时间】:2022-01-29 11:51:53
【问题描述】:
我有一份客户的电子邮件列表,我想每周发送促销和新闻。
如何使用 Laravel 在 AWS 上进行设置?
我目前所做的是使用 Laravel 的队列,如下所示:
website.com/api/SendScheduledEmail
到目前为止,我尝试过的是 Linux 上的 crontab,但我不知道如何使用它访问和执行我的 URL。
【问题讨论】:
-
Cron 作业不是使用 URL 触发的。它们由您的服务器运行,不需要 URL 端点。您应该了解 cron 作业的基础知识以及如何在您的服务器上设置它们。您使用的是 EC2 服务器吗,这就是您所说的 AWS 的意思吗?
-
是的,我们正在使用 EC2。我想做的是每周向我们的客户发送电子邮件。如果使用 laravel 可以实现吗?顺便感谢您指出它不是由 URL 触发的。
-
是的,很简单。为了完成这项工作,您需要做两件事。你需要在 Laravel 中创建一个 cron 作业命令。这些命令存储在 app/console/commands 目录中。这些由位于 app/console/kernel.php 的内核调度触发。内核说“每天在 X 时间运行 X 命令”。另一个步骤是设置一个守护程序在您的服务器上运行,以每分钟检查一次您的内核。整个过程在这里详细介绍:scotch.io/@Kidalikevin/how-to-set-up-cron-job-in-laravel
标签: laravel amazon-web-services amazon-ec2 architecture aws-lambda