为了账号安全,请及时绑定邮箱和手机立即绑定

AWS Elastic Beanstalk,运行cronjob

AWS Elastic Beanstalk,运行cronjob

我想知道是否有一种方法可以设置cronjob /任务以每分钟执行一次。当前,我的任何实例都应该能够运行此任务。这是我尝试在配置文件中执行的操作,但未成功:container_commands:  01cronjobs:    command: echo "*/1 * * * * root php /etc/httpd/myscript.php"我不确定这是否是正确的方法有任何想法吗?
查看完整描述

3 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

这是目前的官方方法。请先尝试此方法,这是目前最简单,最可靠的方法。

根据当前的文档,人们能够在其所谓的工作层上运行定期任务。


引用文档:


在运行预定义配置且解决方案堆栈的容器名称中包含“ v1.2.0”的环境中,AWS Elastic Beanstalk支持工作环境层的定期任务。您必须创建一个新环境。


关于cron.yaml的部分也很有趣:


要调用定期任务,您的应用程序源包必须在根级别包含cron.yaml文件。该文件必须包含有关您要计划的定期任务的信息。使用标准crontab语法指定此信息。


更新:我们能够完成这项工作。以下是我们经验(Node.js平台)中的一些重要陷阱:


使用cron.yaml文件时,请确保您具有最新的awsebcli,因为较旧的版本将无法正常工作。

创建新环境(至少在我们的情况下如此)也很重要,而不仅仅是克隆旧环境。

如果要确保EC2 Worker Tier实例上支持CRON,则将其ssh(eb ssh),然后运行cat /var/log/aws-sqsd/default.log。它应报告为aws-sqsd 2.0 (2015-02-18)。如果您没有2.0版本,则在创建环境时出了点问题,您需要如上所述创建新的环境。


查看完整回答
反对 回复 2019-10-24
  • 3 回答
  • 0 关注
  • 590 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信