Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Laravel和AWS设置cron作业_Laravel_Amazon Web Services_Amazon Ec2_Architecture_Aws Lambda - Fatal编程技术网

使用Laravel和AWS设置cron作业

使用Laravel和AWS设置cron作业,laravel,amazon-web-services,amazon-ec2,architecture,aws-lambda,Laravel,Amazon Web Services,Amazon Ec2,Architecture,Aws Lambda,我有一个客户的电子邮件列表,我想每周发送促销和新闻 我如何使用Laravel在AWS上设置它 我目前使用的是Laravel的队列,如下所示: website.com/api/SendScheduledEmail 到目前为止,我尝试的是Linux上的crontab,但我不知道如何使用它来访问和执行我的URL。您可以按照@eResourcesInc提到的方法来执行,您可以添加如下所示的计划命令 $schedule->command('command:send_newsletter')

我有一个客户的电子邮件列表,我想每周发送促销和新闻

我如何使用Laravel在AWS上设置它

我目前使用的是Laravel的队列,如下所示:

website.com/api/SendScheduledEmail

到目前为止,我尝试的是Linux上的crontab,但我不知道如何使用它来访问和执行我的URL。

您可以按照@eResourcesInc提到的方法来执行,您可以添加如下所示的计划命令

 $schedule->command('command:send_newsletter')
            ->daily()
            ->appendOutputTo(storage_path('logs/send_newsletter.log'));
此处的文档:

如果您的任务可能需要很长时间/或消耗大量资源。也许您可以尝试无服务器,比如在AWS或Aliyun中将任务作为函数运行。更多信息请点击此处:


希望有帮助。

我们只需要向AWS EC2服务器添加一个Cron条目。首先,您必须使用SSH连接到服务器,然后运行下面的命令

crontab -e

您可以从

获取详细信息,Cron作业不会使用URL触发。它们由服务器运行,不需要URL端点。您应该了解cron作业的基本知识以及如何在服务器上设置它们。您使用的是EC2服务器吗?这就是您所说的AWS吗?是的,我们使用的是EC2。我想做的是每周向客户发送电子邮件。如果使用laravel完成,是否可用?谢谢你指出它不是由URL触发的。是的,它很简单。为了完成这项工作,你需要做两件事。您需要在Laravel中创建一个cron作业命令。这些命令存储在app/console/commands目录中。这些由位于app/console/kernel.php的内核调度触发。内核说“每天在X时间运行X命令”。另一步是设置在服务器上运行的守护进程,以便每分钟检查内核。这里详细介绍了整个过程:虽然这可以从理论上回答这个问题,但这里要包括答案的基本部分,并提供链接供参考。