c# - 在 azure 服务结构中的有状态服务上运行计划的后台作业,以按计划时间更新可靠字典中的一些数据
问题描述
是否可以在 azure service fabric 中的有状态服务上运行预定的后台作业?我发现的唯一方法是它们在 Actors 上运行的计时器和提醒,而不是有状态的服务。我正在尝试运行预定的后台作业来清理 Reliable 字典中的一些数据。
解决方案
在 Service Fabric 中运行后台作业的推荐方法是简单地覆盖RunAsync
操作。这对于有状态和无状态服务同样适用——尽管如前所述,Actors
它提供了一些额外的功能,内置了对提醒和计时器的支持。
下面是一个非常基本的例子
public async Task RunAsync(CancellationToken cancellationToken)
{
// do something
var nextWakeup = TimeSpan.FromHours(1);
await Task.Delay(nextWakeup, cancellationToken);
}
如果您需要更复杂的内容,例如,您可以增强上述内容以使用IReliableStateManager
管理您自己的提醒集合。
推荐阅读
- wildfly - 如何使用 java 11 部署wildfly 15?
- java - org.eclipse.jetty.server.ssl.SslSelectChannelConnector 在新的 Eclipse Jetty 罐子中丢失
- scala - Gatling tansformOption 类型不匹配
- python - 如何交换字典中的值并找到所有可能的结果?
- jquery - 带有数字的jquery订单选择框
- c++ - 用于在 C++ 中包装 stdint 变量的基对象和继承对象
- wordpress - 为商店/类别页面使用不同的产品标题
- ruby-on-rails - 在 Rails 应用程序中收到第一个 POST 请求后,如何使注册表单的真实性令牌失效?
- ios - iOS 如何制作一个函数来接受参数确认到 NSCoding
- python-3.x - 如何在任何凝聚步骤中获取由 scipy.cluster.hierarchy.linkage 创建的集群成员?