Aws Elastic Beanstalk 不执行 cron.yaml 文件
Posted
技术标签:
【中文标题】Aws Elastic Beanstalk 不执行 cron.yaml 文件【英文标题】:Aws Elastic Beanstalk not executing cron.yaml file 【发布时间】:2020-10-02 20:47:24 【问题描述】:我目前在项目的根目录中有一个文件 cron.yaml。
version: 3
cron:
- name: "shopify"
url: "/shopify"
schedule: "0 * * * *"
- name: "quickbooks"
url: "/qb'"
schedule: "0 * * * *"
- name: "Shopify-Completed"
url: "/shopify-completed"
schedule: "0 * * * *"
- name: "License-Orders"
url: "/getLicenseOrders"
schedule: "0 * * * *"
- name: "Tee-Orders"
url: "/getTeesOrders"
schedule: "0 * * * *"
- name: "Engraved-Orders"
url: "/getEngravedOrders"
schedule: "0 * * * *"
- name: "Engraved-Mexico-Orders"
url: "/getMexicoEngravedOrders"
schedule: "0 * * * *"
- name: "Shopify-All-Orders"
url: "/pull-shopify-orders"
schedule: "*/10 * * * *"
这些都是我项目中经过验证的路线。 例如,当我手动转到 example.com//pull-shopify-orders 时,它会执行。 但是,当它在 cron 中时,它不会触发。 知道为什么吗?
【问题讨论】:
你运行的是worker环境还是web one? 网络一@Marcin 另外,请确保您的路线响应 POST。 【参考方案1】:cron.yaml
仅支持worker environments:
您可以在源包中名为 cron.yaml 的文件中定义定期任务,以定期自动将作业添加到您的工作环境的队列中。
对于网络环境,您必须使用.ebextentions
“手动”设置 cron。这在最近的 AWS 博客文章中得到了证明:
这涉及创建带有定义的files 和commands 部分的cron-linux.config
(示例名称)文件。
【讨论】:
以上是关于Aws Elastic Beanstalk 不执行 cron.yaml 文件的主要内容,如果未能解决你的问题,请参考以下文章
仅在 AWS Elastic Beanstalk 网站上部署更改的文件
将 Docker 部署到 AWS Elastic Beanstalk:无法执行命令“docker pull maven”
AWS Elastic Beanstalk - PHP 脚本在部署新版本后无法执行
AWS Elastic Beanstalk 命令不返回任何输出