安裝
先使用 NuGet 安裝 Coravel 套件,或是使用 .NET CLI 執行以下指令安裝
dotnet add package coravel
在 Program.cs 檔案中使用 AddScheduler 註冊服務:
using Coravel;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddScheduler();
var app = builder.Build();
app.Run();
最簡單固定排程
每 10 秒輸出一次訊息:
using Coravel;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddScheduler();
var app = builder.Build();
app.Services.UseScheduler(scheduler =>
{
scheduler.Schedule(() =>
{
Console.WriteLine($"{DateTime.Now:HH:mm:ss}");
}).EveryTenSeconds();
});
app.Run();
透過實作 IInvocable 介面拆分排程任務
建立 MyJob.cs,實作 IInvocable 介面,在 Invoke 方法中撰寫排程任務邏輯:
using Coravel.Invocable;
public class MyJob : IInvocable
{
public Task Invoke()
{
Console.WriteLine($"MyJob: {DateTime.Now:HH:mm:ss}");
return Task.CompletedTask;
}
}
在 Program.cs 中註冊服務和定義排程執行週期:
using Coravel;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddScheduler();
builder.Services.AddTransient<MyJob>();
var app = builder.Build();
app.Services.UseScheduler(scheduler =>
{
scheduler.Schedule<MyJob>()
.EverySecond();
});
app.Run();
參考資料:
GitHub - jamesmh/coravel
coravel.net
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com