我一直在努力在AWS Elastic Beanstalk上设置一些CRON作业 . 我已经设置了我正在部署的应用程序的其余部分,但实际上已经停留在这一点上 .
我创建了一个cron.yaml文件,然后在app中创建了一个新的worker环境 . 该worker将加载YAML文件,它将运行CRON作业 . 但是,它在新的工作环境中查找PHP文件(作业的目标),它们显然不存在,而是在主Web环境中 . 所以一切都会在日志中出现404错误 .
YAML不会在Web服务器环境中运行,因此解决方案并不像在那里移动一样简单(除非有人知道某些技巧) .
有没有一种简单的方法可以使用YAML文件在 生产环境 环境中运行CRON作业?我错过了什么吗?这是我第一次使用这个平台,我习惯这些东西很简单;通常在一分钟内安装在主机上,这就是全部 . 任何帮助将非常感激 .
1 回答
目前,我一直在使用一种解决方法,我运行一个调用PHP文件的工作环境,然后使用file_get_contents();在 生产环境 环境中调用可公开访问的PHP文件 . 似乎工作,但我现在也将这个EB设置保持为单个实例,因为我不知道如果这是一个多实例设置会发生什么 .
如果有人希望使用此解决方法,这里是您的工作环境的示例代码:
cron.yaml
process_file.php
上传到工作类型环境后,上述两个文件将调用您每隔5分钟设置的URL /文件(或者您在日程表中输入的任何内容) .