日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

 

 

介紹

Hangfire是.NET平臺和.net core平臺下的一個優秀的開源定時任務框架,它可以方便輕松地將定時任務集成到你的程序中,而且功能強大,。支持CPU和I / O密集型,長期運行和短期運行的后端作業。無需windows服務/任務計劃程序。提供redis,SQL Server,SQL Azure和MSMQ持久化的支持。同事還提供了集成了本地化的可視化界面可以優雅的對任務進行手動管理,且支持中文界面。


在.NET和.NET Core應用程序中優雅的實現后臺任務——Hangfire

 


Github地址

https://github.com/HangfireIO/Hangfire

如何安裝使用?

在.net 和.net core的C#應用程序中,最方便我們使用的第三方庫管理莫過于Nuget了,因此你可以簡單的搜索HangFire,截止發文日期,版本是1.7.6,如下圖:


在.NET和.NET Core應用程序中優雅的實現后臺任務——Hangfire

 


或者在程序包管理器中執行以下命令,兩種方式隨心所欲

Install-Package Hangfire

快速開始

以下是一個最簡單的代碼片段,用于配置HangFire,代碼是以SQLServer為例的


public void Configuration(IAppBuilder app)
{
 GlobalConfiguration.Configuration.UseSqlServerStorage("<connection string or its name>");
 
 app.UseHangfireServer();
 app.UseHangfireDashboard();
}

功能簡介

本文不涉及如何在具體的應用程序如何調用,以下是對其功能進行簡單的介紹,也是官方Github上提及的一些常用功能。

  • 即發即消失的任務
BackgroundJob.Enqueue(() => Console.WriteLine("Simple!"));

  • 延時任務

僅在給定的時間后執行的計劃的后臺任務

BackgroundJob.Schedule(() => Console.WriteLine("Reliable!"), TimeSpan.FromDays(7));

  • 重復的定時任務

重復性的任務就是這么簡單,只需調用以下方法即可使用CRON表達式執行任何類型的重復任務,由于支持CRON表達式,所以其是支持到秒級的

RecurringJob.AddOrUpdate(() => Console.WriteLine("Transparent!"), Cron.Daily);

  • 多任務相互協作

允許多個任務之間相互調度,完成更加復雜的調度任務

var id = BackgroundJob.Enqueue(() => Console.WriteLine("Hello, "));
BackgroundJob.ContinueWith(id, () => Console.WriteLine("world!"));

Web作業

你可以在任何兼容OWIN的應用程序框架中處理后臺任務,包括ASP.NET MVC,ASP.NET Web API,FubuMvc,Nancy等。

app.UseHangfireServer();

在控制臺應用程序,Windows服務,Azure Worker Role等中:

using (new BackgroundJobServer())
{
 Console.WriteLine("Hangfire Server started. Press ENTER to exit...");
 Console.ReadLine();
}

使用情況

以下一些截圖是筆者配置在進行中的項目中的一個實例,簡單的對其管理面板有一個了解

  • 儀表盤對其任務執行情況一目了然

在.NET和.NET Core應用程序中優雅的實現后臺任務——Hangfire

 


  • 作業隊列一覽

任務隊列包括計劃的任務、執行中的任務、完成的任務、失敗的任務、刪除的任務、以及等待中的任務,


在.NET和.NET Core應用程序中優雅的實現后臺任務——Hangfire

 


還可以查看執行情況以便于是否需要手動重試


在.NET和.NET Core應用程序中優雅的實現后臺任務——Hangfire

 


  • 周期任務的列表管理

定時的周期性任務,在這里很清晰,而且可以手動執行,筆者目前就干了一件事,因為項目初期手動維護一部分基礎數據是很有可能的,為了防止一些基礎數據緩存的及時性,在更新完數據庫后可手動執行任務重建緩存,目前一個任務定了一個月時間,這樣就不必每次都重新啟動應用程序了。


在.NET和.NET Core應用程序中優雅的實現后臺任務——Hangfire

 


  • 運行的服務器

由于HangFire是分布式的,可以再儀表盤看到運行的服務器


在.NET和.NET Core應用程序中優雅的實現后臺任務——Hangfire

 


總結

HangFire絕對是一個值得使用的分布式任務框架,社區版永久免費,即使是商用情況下也是免費的,大多數情況下社區版本已經夠用,除非你有非常復雜的任務需要實現,也可以通過收費版本的,支持的功能更強大!如果你還有更好的推薦可以在評論區留言分享!


在.NET和.NET Core應用程序中優雅的實現后臺任務——Hangfire

分享到:
標簽:應用程序
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定