当预定时间与当前时间匹配时,Web应用程序会执行某些操作并将结果发送到电子邮件.
我需要的架构如下所示:
>用户创建报告(完成)
> Webapp将报告保存到数据库,并通过SQS(简单查询服务)将报告数据和计时器发送到cron微服务. (DONE)
> Cron微服务读取传入的SQS消息,并在计时器结束后发回SQS消息. (需要这个)
> Webapp读取SQS消息并触发Data Analyzer和Emailer功能以发送分析数据. (DONE)
从我读到的SWF服务是我们可以创建cron作业和SWF autoscales.如何使用SWF创建可扩展的cron微服务?
对任何建议开放……
附: Web应用程序是用nodejs编写的,在nodejs中编写微服务会很好.
更新1:花了一些时间研究可能的解决方案,
我找到了https://github.com/capside/CloudCron项目.但它依赖于cloudwatch事件.对于许多预定的任务,它可能会收取很多IMO.
更新2:
Banjo Obayomi建议在SQS和CWE中使用Lambda函数.
解决方案1:
> Webapp发送SQS消息.
> SQS消息触发Lambda function1
> Lambda函数创建CWE规则
> CWE规则触发Lambda function2
> Lambda function2将SQS消息发送回webapp.
限制:
我们每个地区只能创建100个CWE规则.这意味着webapp无法生成超过100个具有计划日期的报告.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。