azure - 如何使用 Azure 大规模安排作业?
问题描述
我有一个部署到应用服务的 Web api 应用程序。我需要能够设置任意数量的预定作业(对我的 web api 的 http 调用)和任意截止日期时间(从几个小时到几个月)。
关键是我需要能够根据我的应用程序的不同状态以编程方式即时设置/编辑/取消它们,并且我需要维护数千个。
有什么推荐的方法吗?
解决方案
我会将作业保存到 SQL 数据库或表存储中(我将其称为“ScheduledJobs”)。
然后有一个 Azure 函数,它会在某个时间间隔查询 ScheduledJobs 存储,比如每小时来拾取应该在该时间点处理的作业。
然后可以将要处理的作业写入队列(我将其命名为“作业队列”)。
然后有另一个 Azure 函数,它将从“作业队列”中获取作业。此 Azure Function 具有如何处理每个作业的业务逻辑。
根据我的经验,一个 Azure 函数最多只能运行 10 分钟。处理每项工作所需的时间不应超过此时间。
希望这能给你一些想法。
推荐阅读
- python - 生成区块链标头失败并出现错误
- uicollectionviewcell - 如果快速滚动CollectionView swift 5,则单元格数据错误
- mysql - Mysql每线程内存,变量导致线程内存使用?
- android - Android应用权限设置
- javascript - Vue计算属性不向模板发送数据
- python - 使用 Python 管理所有路径格式
- java - android中attrs的不同用途是什么?
- c++ - std::thread 的 lambda 移动捕获
- python - 使用 python LCG 进行 chi-2 测试和 3d 光谱测试
- lucene - Lucene Facets - 如何处理 StoreId