![]() |
1
7
TL;医生:
见工作
环境
如何使用crontab运行laravel代码?这个问题的答案当然是最明显的,如果你对拉拉维尔的了解最浅,你肯定知道答案: Scheduling 你看! 我不会让你厌烦解释Laravel日程安排的精彩之处,因为你可以自己在文档中阅读它。 但我们需要采取的关键是,Laravel调度使用crontab来执行,如文档中所述:
这给我们带来了下一个更棘手的问题… 如何在我的弹性Beanstalk环境中设置crontab?乍一看,这个问题的答案似乎相当直截了当。我在AWS Knownledge中心找到了这个: How do I create a cron job on EC2 instances in an Elastic Beanstalk environment?
在这里,他们描述了如何使用.ebextensions在弹性Beanstalk EC2机器上设置cron作业。简而言之,它所做的就是在目录中创建一个新文件
然后,crontab将此目录中的文件作为
一旦我们清除了所有这些陷阱,现在是时候从上面开始执行Laravel调度cron任务了。看起来应该是这样的:
不过,在大多数情况下,这不会真正起作用。 .这是因为Laravel调度程序无法访问您的env变量,而且必须明显地不是您的数据库设置。 我在这里找到了答案: How to Get Laravel Task Scheduling Working on AWS Elastic Beanstalk Cron 向乔治·布尼什大喊一声,我向你致敬,先生,我和你分享了这一切! 因此,通过这最后一块拼图,我终于能够让设置正常工作: 工作方案文件结构:
cronjob.config:
在AWS弹性Beanstalk上使用Laravel调度时的提示!由于弹性Beanstalk的一个关键特性是,它可以在需要时自动缩放和添加更多服务器,因此您可能希望了解Laravel调度中的新特性: Running Tasks On One Server . 在许多情况下,您不希望在多个服务器上执行cron作业。例如,如果您有发送电子邮件的预定命令,则不希望这些邮件多次发送。 注: 这要求您使用memcached或redis作为缓存引擎,如文档中所述。如果没有,请看一下AWS服务 Elasticache .
注2:
使用时
|
![]() |
R0bert2 · Ansible-使用with_项创建列表 2 年前 |
![]() |
renzCNFT · 与s3相比,workdocs有什么优势 2 年前 |
![]() |
Eva · Github与AWS codecommit镜像和同步的操作 2 年前 |
![]() |
Hasham · 如何将多个本地文件上载到s3中的一个文件 2 年前 |
![]() |
sebas flores · S3 URL-使用python下载 2 年前 |