首页 > 解决方案 > 如何使用 Azure 大规模安排作业?

问题描述

我有一个部署到应用服务的 Web api 应用程序。我需要能够设置任意数量的预定作业(对我的 web api 的 http 调用)和任意截止日期时间(从几个小时到几个月)。

关键是我需要能够根据我的应用程序的不同状态以编程方式即时设置/编辑/取消它们,并且我需要维护数千个。

有什么推荐的方法吗?

标签: azureazure-logic-apps

解决方案


我会将作业保存到 SQL 数据库或表存储中(我将其称为“ScheduledJobs”)。

然后有一个 Azure 函数,它会在某个时间间隔查询 ScheduledJobs 存储,比如每小时来拾取应该在该时间点处理的作业。

然后可以将要处理的作业写入队列(我将其命名为“作业队列”)。

然后有另一个 Azure 函数,它将从“作业队列”中获取作业。此 Azure Function 具有如何处理每个作业的业务逻辑。

根据我的经验,一个 Azure 函数最多只能运行 10 分钟。处理每项工作所需的时间不应超过此时间。

希望这能给你一些想法。


推荐阅读