Abp vNext 後台作業hangfire

2021-10-12 17:50:06 字數 1821 閱讀 6271

abp vnext 提供了後台工作者和後台作業的支援,基本實現與原來的 abp 框架類似,並且 abp vnext 還提供了對 hangfire 和 rabbitmq 的後台作業整合。開發人員在使用這些第三方庫的時候,基本就是開箱即用,不需要做其他複雜的配置。

後台作業在系統開發的過程當中,是比較常用的功能。因為總是有一些長耗時的任務,而這些任務我們不是立即響應的,例如 excel 文件匯入、批量傳送簡訊通知等。

後台工作者 的話,abp vnext 的實現就是在 clr 的 timer 之上封裝了一層,周期性地執行使用者邏輯。abp vnext 預設提供的 後台任務管理器,就是在後台工作者基礎之上進行的封裝。

涉及到後台任務、後台工作者的模組一共有 6 個,它們分別是:

hangfire 是乙個開源的.net任務排程框架,目前1.6+版本已支援.net core。個人認為它最大特點在於內建提供整合化的控制台,方便後台檢視及監控

引用

啟動

public class startup

);x.usedashboardmetric(dashboardmetrics.servercount)

.usedashboardmetric(dashboardmetrics.recurringjobcount)

.usedashboardmetric(dashboardmetrics.retriescount)

.usedashboardmetric(dashboardmetrics.awaitingcount)

.usedashboardmetric(dashboardmetrics.enqueuedandqueuecount)

.usedashboardmetric(dashboardmetrics.scheduledcount)

.usedashboardmetric(dashboardmetrics.processingcount)

.usedashboardmetric(dashboardmetrics.succeededcount)

.usedashboardmetric(dashboardmetrics.failedcount)

.usedashboardmetric(dashboardmetrics.enqueuedcountornull)

.usedashboardmetric(dashboardmetrics.failedcountornull)

.usedashboardmetric(dashboardmetrics.deletedcount);

});}

}});

,});

var joboptions = new backgroundjobserveroptions

,workercount = environment.processorcount * int.parse(configuration["hangfire:processorcount"]),

servername = configuration["hangfire:servername"],

schedulepollinginterval = timespan.fromseconds(1), //計畫輪詢間隔 支援任務到秒};}

}

設定

/// /// 已完成的job設定過期,防止資料無限增長

///

public class succeededstateexpirehandler : istatehandler

public string statename => succeededstate.statename;

}

Abp vNext 後台作業hangfire

簡要說明 abp vnext 提供了後台工作者和後台作業的支援,基本實現與原來的 abp 框架類似,並且 abp vnext 還提供了對 hangfire 和 rabbitmq 的後台作業整合。開發人員在使用這些第三方庫的時候,基本就是開箱即用,不需要做其他複雜的配置。後台作業在系統開發的過程當中,...

Android後台作業最佳實現(二)

intelligent job scheduling jobscheduler還提供了高度可擴充套件的功能 如清除快取小任務是合適的,和大的如乙個資料庫同步到雲。除了jobscheduler,還有其他一些設施可以幫助你的應用程式的工作日程。這些措施包括 alarmmanager firebase j...

sap後台作業管理 sap列印管理

sap後台作業管理 後台作業,主要用於執行需要處理大量資料,對互動沒有要求的程式。個人認為,簡單的建立,配置和監控後台作業沒有什麼難度。後台作業管理最為困難的解決方案的取捨,系統負載的調控。失控的後台作業,往往對系統帶來災難性的效能問題,也會導致許可權管理的風險,結果是得不償失,而且可能導致流程混亂...