AWS Elastic Beanstalk,运行cronjob

我想知道是否有一种方法可以设置cronjob /任务以每分钟执行一次。当前,我的任何实例都应该能够运行此任务。


这是我尝试在配置文件中执行的操作,但未成功:


container_commands:

  01cronjobs:

    command: echo "*/1 * * * * root php /etc/httpd/myscript.php"

我不确定这是否是正确的方法


有任何想法吗?


德玛西亚99
浏览 591回答 3
3回答

湖上湖

这是目前的官方方法。请先尝试此方法,这是目前最简单,最可靠的方法。根据当前的文档,人们能够在其所谓的工作层上运行定期任务。引用文档:在运行预定义配置且解决方案堆栈的容器名称中包含“ 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版本,则在创建环境时出了点问题,您需要如上所述创建新的环境。
打开App,查看更多内容
随时随地看视频慕课网APP