在使用C#ASP.NET开发HangFire应用程序期间,我决定在功能上实现Admin,管理服务器状态,作业。
服务器启用禁用状态。使用启用按钮单击事件管理员 可以启动JOB服务器,以便所有Fire和Forget和Recurrent作业都可以 执行。并且“禁用”按钮会停止JOB的所有活动。
我想检索JOB服务器的当前状态,所以我可以显示是 服务器开启或关闭。
答案 0 :(得分:7)
如果您想管理Hangfire创建的服务器/作业,您可以使用MonitoringApi或JobStorage来获取状态。
示例代码:
var _jobStorage = JobStorage.Current;
// How to get recurringjobs
using (var connection = _jobStorage.GetConnection())
{
var storageConnection = connection as JobStorageConnection;
if (storageConnection != null)
{
var recurringJob = storageConnection.GetRecurringJobs();
foreach(var job in recurringJob)
{
// do you stuff
}
}
}
// How to get Servers
var monitoringApi = _jobStorage.GetMonitoringApi();
var serverList = monitoringApi.Servers();
foreach( var server in serverList)
{
// do you stuff with the server
// you can use var connection = _jobStorage.GetConnection()
// to remove server
}
从这里你可以玩Hangfire。