ASP.NET Core Library – Hangfire
阿新 • • 發佈:2022-01-06
前言
以前寫過 Hangfire 的學習筆記, 但寫的很亂. 這篇來做個整理.
介紹
Hangfire 是用來做 server task 的, 定時任務, delay 執行之類的. 它可以做到分鐘級別的 schedule, 任務會通過 SQL Server 來管理 (也可以支援其它 database 但不推薦啦)
安裝 & Startup
參考: 官網教程
安裝 nuget
dotnet add package Hangfire.Core dotnet add package Hangfire.AspNetCore dotnet add package Hangfire.SqlServer
startup
builder.Services.AddHangfire(configuration => configuration .SetDataCompatibilityLevel(CompatibilityLevel.Version_170) .UseSimpleAssemblyNameTypeSerializer() .UseRecommendedSerializerSettings() .UseSqlServerStorage("Server=192.168.1.152;Database=TestHangfire;Trusted_Connection=True;MultipleActiveResultSets=true", new SqlServerStorageOptions { CommandBatchMaxTimeout = TimeSpan.FromMinutes(5), SlidingInvisibilityTimeout = TimeSpan.FromMinutes(5), QueuePollInterval = TimeSpan.Zero, UseRecommendedIsolationLevel = true, DisableGlobalLocks = true })); builder.Services.AddHangfireServer();
配置不重要, 我按照官網 example 放的而已, 連結上 database 就可以了 (注: 要先建立好 database 哦, 不然會報錯, hangfire 會負責建立 tables)