我有一个部署到App Service的web api应用程序。我需要能够设置任意数量的计划作业(对我的web api的http调用)和任意的截止日期时间(从几个小时到几个月)。
重点是我需要能够根据我的应用程序的不同状态以编程的方式设置/编辑/取消它们,并且我需要维护数千个它们。
有什么推荐的方法吗?
发布于 2020-10-11 07:23:36
我会将作业持久化到SQL数据库或表存储中(我会称之为'ScheduledJobs')。
然后有一个Azure函数,它会以一定的时间间隔查询ScheduledJobs存储,比如每小时一次,以拾取应该在该时间点处理的作业。
然后可以将到期处理的作业写入队列(我会将其命名为‘jobs queue’)。
然后有另一个Azure函数,它将从‘jobs queue’中拾取作业。此Azure函数具有如何处理每个作业的业务逻辑。
根据我的经验,Azure函数最多只能运行10分钟。处理每个作业所需的时间不应超过此时间段。
希望这篇文章能给你一些启发。
https://stackoverflow.com/questions/64301509
复制相似问题