Elastic Beanstalk 未调度 cron.yaml 中定义的作业
Posted
技术标签:
【中文标题】Elastic Beanstalk 未调度 cron.yaml 中定义的作业【英文标题】:Elastic Beanstalk not scheduling jobs defined in cron.yaml 【发布时间】:2021-02-24 17:58:32 【问题描述】:我在 Elastic Beanstalk 上有一个 Web 和一个工作环境。我有一个cron.yaml
文件,其中有一个每小时运行的任务。当我使用 eb-cli
进行部署时,它在开始时运行良好。
然后我决定使用 AWS 代码管道来部署代码,这时 cron 作业停止工作。它的工作方式是管道的构建阶段创建一个 docker 映像并将其推送到我的 ECR 存储库。然后在下一阶段使用此图像(使用Dockerrun.aws.json
)在两个环境中运行应用程序。但是这种方法不会调度cron.yaml
中定义的任务。
我认为使用 eb-cli,当 elastic beanstalk 解压缩上传到 s3 以供 eb-cli 部署的存档时,它会找到 cron.yaml
文件并安排任务。但是对于 ECR,它只是 docker 映像,并且 cron.yaml 不可用。如果是这种情况,从 ECR 存储库部署时,如何将 cron.yaml
文件提供给弹性 beanstalk?
我错过了什么?
【问题讨论】:
【参考方案1】:我自己解决了这个问题。您需要做的就是将cron.yaml
文件添加到您的buildspec.yml
文件中的工件中,如下所示:
artifacts:
files:
- Dockerrun.aws.json
- cron.yaml
【讨论】:
以上是关于Elastic Beanstalk 未调度 cron.yaml 中定义的作业的主要内容,如果未能解决你的问题,请参考以下文章
AWS - Elastic BeansTalk:[错误] 'php' 未找到或无法统计
Elastic Beanstalk 未创建 ssl.conf
Elastic Beanstalk `War` 部署 - 404 未找到