在 ASP.NET MVC 应用程序中组织计划任务或延迟工作

问题描述 投票:0回答:1

我在 ASP.NET MVC 上有一个小型 API 应用程序。我的一个端点创建一个实体并将其存储在数据库中。

是否有任何工具可以在一段时间(例如1小时)后更改此实体? IE。一段时间后我需要在这个实体上自动执行工作。

我找到了 Quartz.NET 库,但它似乎不太适合这种情况。据我了解,Quartz 提供了一个按设定时间间隔运行的

BackgroundWorker

附注 我还希望能够将延迟的进程保存在内存中,以便在重新启动程序后恢复所有延迟的任务(但我知道我要求太多了)

c# asp.net-mvc backgroundworker delayed-job
1个回答
0
投票

基本上,您需要一些可以触发代码的东西。大多数方法都在幕后包含某种间隔。 Quartz.NET 是此类任务的后流行解决方案。此外,它还包含持久化功能,所以您无需担心

此外,如果您需要将您的实体标记为已过期或类似的内容。您可以利用这样一个事实:没有人知道数据库中的内容,除非他们调用您的 API。因此,您可以在“惰性模式”下执行此操作 - 在请求实体时处理该逻辑。可以说,您有端点:

  1. POST /entity
    创建实体;
  2. GET /active
    列出活动实体;

假设您需要该实体在 1 小时后从

/active
列表中消失。因此,在
/active
处理程序中,您可以检查过期情况并进行相应更新。

© www.soinside.com 2019 - 2024. All rights reserved.