首页 > 解决方案 > 在 azure 服务结构中的有状态服务上运行计划的后台作业,以按计划时间更新可靠字典中的一些数据

问题描述

是否可以在 azure service fabric 中的有状态服务上运行预定的后台作业?我发现的唯一方法是它们在 Actors 上运行的计时器和提醒,而不是有状态的服务。我正在尝试运行预定的后台作业来清理 Reliable 字典中的一些数据。

标签: c#azure-service-fabric

解决方案


在 Service Fabric 中运行后台作业的推荐方法是简单地覆盖RunAsync操作。这对于有状态和无状态服务同样适用——尽管如前所述,Actors它提供了一些额外的功能,内置了对提醒和计时器的支持。

下面是一个非常基本的例子

public async Task RunAsync(CancellationToken cancellationToken)
{
    // do something
    var nextWakeup = TimeSpan.FromHours(1);
    await Task.Delay(nextWakeup, cancellationToken);
}

如果您需要更复杂的内容,例如,您可以增强上述内容以使用IReliableStateManager管理您自己的提醒集合。


推荐阅读