编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

C# 后台任务调度开源库HangFire的使用样例

wxchong 2024-07-05 01:52:21 开源技术 11 ℃ 0 评论

Hangfire 是一个用于在 .NET 应用程序中实现后台任务调度的开源库。

它提供一种简单而强大的方式来处理定时任务、延迟任务和重复任务。

首先需要安装 Hangfire 包。可以使用 NuGet 包管理器来安装 Hangfire 包。

以下是一个使用 Hangfire 的 C# 示例:

using Hangfire;

class Program
{
    static void Main()
    {
        // 配置 Hangfire
        GlobalConfiguration.Configuration.UseSqlServerStorage("connectionString");

        // 启动 Hangfire 服务器
        using (var server = new BackgroundJobServer())
        {
            // 创建后台任务
            BackgroundJob.Enqueue(() => Console.WriteLine("Hello, Hangfire!"));

            // 创建定时任务
            RecurringJob.AddOrUpdate(() => Console.WriteLine("定时任务执行"), Cron.Minutely);

            // 创建延迟任务
            BackgroundJob.Schedule(() => Console.WriteLine("延迟任务执行"), TimeSpan.FromSeconds(10));

            // 阻塞主线程,保持 Hangfire 服务器运行
            Console.WriteLine("Hangfire 服务器已启动。按任意键退出...");
            Console.ReadKey();
        }
    }
}

示例演示如何使用 Hangfire在C# 中创建后台任务、定时任务和延迟任务。

使用 UseSqlServerStorage 方法配置 Hangfire 使用 SQL Server 存储后台任务信息。

使用 BackgroundJob.Enqueue 方法创建一个后台任务,使用 RecurringJob.AddOrUpdate 方法创建一个定时任务(每分钟执行一次),使用 BackgroundJob.Schedule 方法创建一个延迟任务(延迟10秒执行)。

最后,使用 BackgroundJobServer 启动 Hangfire 服务器,并阻塞主线程,以保持服务器运行。

使用时需要根据实际情况修改连接字符串和任务逻辑。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表