開源的輕量級任務排程框架

2023-06-21 12:02:27

你好,這裡是 Dotnet 工具箱,定期分享 Dotnet 有趣,實用的工具和元件,希望對您有用!

1. 開源的輕量級任務排程框架

FluentScheduler 是一個開源的任務排程框架,支援 Fluent 語法,通過 Nuget 安裝參照, 和 Quartz.Net 相比,FluentScheduler 足夠輕量,非常容易上手。

使用範例

下面是一個僅僅使用幾行程式碼,設定後臺任務的範例。

JobManager.Initialize();

JobManager.AddJob(
    () => Console.WriteLine("5分鐘過去了."),
    s => s.ToRunEvery(5).Minutes()
);

不同時間場景的任務。

JobManager.AddJob(
    () => Console.WriteLine("每天 20 點 15 執行一次 "),
    s => s.ToRunEvery(1).Days().At(20, 15)
);

JobManager.AddJob(
    () => Console.WriteLine("定時 2023年10月10日 執行"),
    s => s.ToRunOnceAt(new DateTime(2023,10,10))
);

JobManager.AddJob(
    () => Console.WriteLine("每 5s 執行一次..."),
    s => s.ToRunOnceIn(5).Seconds()
);

刪除任務

JobManager.AddJob(
    () => Console.WriteLine("001 任務"),
    s => s.WithName("001").ToRunEvery(1).Days().At(20, 15)
);

JobManager.RemoveJob("001");

獲取所有的後臺任務

var list = JobManager.AllSchedules;

獲取正在執行的任務

var list = JobManager.RunningSchedules;

監聽任務的開始和結束

JobManager.JobStart += info 
    => Logger.Information($"{info.Name}: started");

JobManager.JobEnd += info 
    => Logger.Information($"{info.Name}: ended ({info.Duration})");

2. 基於 Blazor 的開源快速開發框架

Blazor Spark 是一個開源的 Web 框架,可以通過富有表現力和直觀的語法來加速 Web 應用程式開發。

Blazor Spark 基於 .NET Blazor Server 構建並進行了擴充套件,可以讓開發人員快速地構建 Web 應用程式。它提供了無縫且高效的開發體驗,讓您可以專注於製作出色的應用程式,而 Blazor Spark 會處理底層的複雜問題。

一分鐘內開始

Blazor Spark 框架很容易上手,如下

C:\code> dotnet tool install --global BlazorSpark.Console

C:\code> spark install

C:\code> spark new MyApp

Spark 的 CLI 支援,開發非常方便。

功能特性

約定優於設定

Spark 擁抱約定,讓開發人員能夠自由構建,而不用考慮太多的細節。

Spark 有 身份驗證、郵件和紀錄檔記錄等功能。讓您自由創作,無需為小事操心。

Spark CLI 可以幫助您建立應用程式、執行遷移和生成類。

Spark 是一個還在開發中的專案, 感興趣的同學可以關注一下。

3. 基於 .NET 6 開發的 Excel 轉 JSON 神器

作為一個打工人來說,日常接觸過比較多的資料格式就有 Excel 和 JSON 了,今天推薦一個開源的 Excel 轉 JSON 的工具, 支援線上存取,可以大大提高工作效率。

Excel2Json 是一個基於 .NET 6 和 Angular 開發的開源專案,它可以非常方便的把 Excel 轉成 JSON 格式, 另外 JSON 支援線上預覽和下載。

作者是 Brian Lagunas ,微軟 MVP 和 Xamarin MVP,同時也是 Prism 框架的作者。

如何使用

Excel2Json 的介面非常簡潔, 左邊支援上傳 CSV 和 XLSX 的Excel 檔案。選擇檔案上傳後,頁面左右分別顯示了 Excel 和 JSON 資料,如下

另外 Excel 還支援線上編輯,資料更新後,右邊的 JSON 也會同步更新,並且支援下載,非常方便。

Excel2Json 使用了 .NET 6 和 Angular,作者還把整個專案的開發過程錄製了視訊教學,感興趣的同學可以去學習一下。