在服务结构内运行后台任务-ASP.NET核心托管服务还是使用StatelessService.RunAsync()? [英] Running Background tasks inside Service fabric - ASP.NET Core HostedService or use StatelessService.RunAsync()?

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

问题描述

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

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

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

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

谢谢

推荐答案

选项:

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

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

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

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆