使用aws-batch调度动态作业



我有一个用例,其中(通过web界面(用户提交请求。此请求的一部分包括应满足请求的时间。例如,如果履行时间是明天,那么请求应该只在明天完成,而不是立即完成。我正试图找出最好的AWS服务来实现这一点,我是跨AWS批次来的。这是正确的服务吗?还是我应该考虑其他事情。

是否可以按计划触发AWS Batch以运行AWS Lambda。例如,如果两个用户提交了两个请求,第一个明天完成,第二个两天后完成,我们可以使用AWS批处理明天调用lambda,两天后再次调用lambda吗?

我有一个类似的用例。我们最终构建了一个用于调度批处理作业的自定义系统:

  1. 当用户提交任务时,任务的参数和时间表存储在数据库中——参数存储在一个集合中,时间表存储在另一个集合。(我们使用MongoDB,但如果不使用,DynamoDB将是一个很好的候选者。(
  2. 有一个EventBridge规则,它每分钟触发一次,并调用调度器Lambda函数。该函数扫描任务计划集合,查找到期任务,并将其作为批处理作业提交。(在我们的用例中,我们允许定期作业,因此在提交作业后不会删除计划条目,而是只更新下一个运行日期。(

我们选择不使用EventBridge直接调度批处理作业,因为有300条规则的服务配额。

最新更新