使用弹性beanstalk和SQS失败的cron作业

问题描述:

我有两个弹性beanstalk环境。使用弹性beanstalk和SQS失败的cron作业

一个是'主'Web服务器环境,另一个是处理cron作业的工作环境。

我有12个cron作业,通过cron.yaml文件进行安装,所有文件都指向主Web服务器上的API端点。

以前我的cron作业都在Web服务器环境中运行,当然这会在这个扩展时创建重复的cron作业。

我的新实现很好地工作,但是在我的cron作业无法按预期运行的情况下,cron作业重复执行,通常在一分钟左右。

我宁愿避免这种行为,只是试图在下一个计划的时间间隔再次运行cron作业。

有没有办法配置worker环境/ SQS,以便失败的作业不会重复?

只需配置一个CloudWatch事件来接管您的cron,并让它创建SQS消息(直接或通过Lambda函数)。

您的员工现在只需要处理SQS工作,如果需要,您也可以扩展工人。

http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html