這是一款go語言寫的後台作業平台
river簡介
River是一個基於Go和Postgres的高效能作業處理系統,旨在提供快速且可靠的後台作業處理能力。該計畫透過鼓勵使用相同的資料庫來儲存套用數據和作業佇列,從而避免了分布式系統中的許多常見問題。
功能特點
高效能與可靠性 :River設計用於處理大量作業,同時保證作業的執行既快速又可靠。
與Postgres緊密整合 :River建立在Postgres之上,利用其強大的資料庫功能來管理作業佇列。
事務性作業入隊 :可以將作業與其他資料庫更改一起事務性地入隊,這樣可以在處理分布式系統時減少復雜性。
靈活的作業重試策略 :提供了靈活的作業重試策略,以應對可能出現的失敗情況。
易於監控 :透過River UI,使用者可以輕松監控和管理作業佇列,無需直接查詢資料庫或使用命令列。
快速開始使用
安裝 :首先,需要安裝Go語言環境。然後,透過以下命令安裝River:
go install github.com/riverqueue/river/cmd/river@latest
資料庫遷移 :確保Postgres資料庫正在執行,並執行以下命令來設定River所需的資料庫結構:
river migrate-up --database-url "$DATABASE_URL"
編寫作業 :建立一個Go檔,並定義一個作業函式。例如:
funcMyJob(ctx context.Context, args ...interface{})error {
// 作業邏輯
returnnil
}入隊作業 :使用River客戶端將作業入隊以供執行:
client.Enqueue(MyJob, arg1, arg2)
啟動工作器 :最後,啟動River工作器來執行佇列中的作業:
river work
透過以上步驟,您可以快速開始使用River來處理後台作業。更多詳細資訊和高級配置,請參考計畫文件和官方範例。
總結 River計畫是為需要高效能和可靠性的後台作業處理而設計的。它的緊密整合與Postgres,事務性作業入隊,以及易於監控的特性,使其成為處理後台作業的理想選擇。快速開始使用River,只需幾個簡單的步驟,即可將其整合到您的Go應用程式中。隨著開源社群的支持和不斷的更新,River有望成為Go後台作業處理的首選解決方案。
開源地址:https://github.com/riverqueue/river
官網:https://riverqueue.com/
最近整理了2023年最火的軟體神器,回復關鍵字 2023合集 獲取
推薦閱讀 ⬇️ 都是高贊
PS:求求啦! 點 「 在看 」 支持下吧!