本文介绍了在服务结构内运行后台任务-ASP.NET核心托管服务还是使用StatelessService.RunAsync()?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有微服务在Azure服务结构中运行,我们有一个需要每15分钟运行一次的后台任务,以执行一些与数据库相关的操作。我看到两个选项。

  1. 使用StatelessService.RunAsync方法并在相关微服务之一下实现后台任务。

  2. 使用HostedService和Do Service.AddHostedService实现逻辑。相关微服务的启动.cs中的ConfigureServices方法中的AddHostedService。

有什么区别,首选哪种方式?

谢谢

推荐答案

选项:

  • Reliable actor timers
  • Reliable actor reminders
  • .NET托管服务:如果您有一个多节点集群,并且您实现了一个托管服务,则它将在运行该服务的每个节点上运行。因此,仅当您同意多次调用时才执行此操作。
  • 用于作业调度的第三方库,如Quartz.Net、Jobbr、...(这些可能与服务结构运行时有关)

查看this blog有提醒的可靠参与者

这篇关于在服务结构内运行后台任务-ASP.NET核心托管服务还是使用StatelessService.RunAsync()?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-01 23:21