Gofer.NET
1.0.0
閱讀文檔
這是.NET標準2.0應用程序的分佈式跑步者。
受Python芹菜的啟發,它允許您快速在工作池上排隊代碼執行。
使用自然表達語法排隊作業進行執行。
排隊的作業持續存在,並由第一個可用的工人自動運行。
簡單地添加新節點來擴展工作池。
在Redis的支持下,所有任務都是持久的。
我們建議使用dotnet CLI入門,但這不是必需的。
Dotnet CLI是.NET Core SDK的一部分。
我們建議使用Docker啟動本地REDIS實例進行測試。設置生產級REDIS實例不超出本文檔的範圍。
$ docker run -d -p 127.0.0.1:6379:6379 redis:4-alpine打開終端並創建一個新的控制台項目以開始。
$ mkdir myProject && cd myProject
$ dotnet new console$ dotnet add package Gofer.NET --version 1.0.0- *此示例Program.cs顯示瞭如何將工作池的作業排隊作業,然後啟動一個工人去運行它們。
一些重要說明:
工人通常將與排隊作業的代碼單獨的計算機上,這純粹是為了舉一個例子。
可以隨時添加更多的工人,並將立即開始從隊列中找到工作。
public class Program
{
public static async Task Main ( string [ ] args )
{
var redisConnectionString = "127.0.0.1:6379" ;
// Create a Task Client connected to Redis
var taskClient = new TaskClient ( TaskQueue . Redis ( redisConnectionString ) ) ;
// Queue up a Sample Job
await taskClient . TaskQueue . Enqueue ( ( ) => SampleJobFunction ( "Hello World!" ) ) ;
// Start the task listener, effectively turning this process into a worker.
// NOTE: This will loop endlessly waiting for new tasks.
await taskClient . Listen ( ) ;
}
private static void SampleJobFunction ( object value )
{
Console . WriteLine ( value . ToString ( ) ) ;
}
}閱讀文檔以獲取更多詳細信息。