HangFire服务器启用 - 手动禁用

时间:2016-01-16 07:01:03

标签: c# asp.net hangfire

在使用C#ASP.NET开发HangFire应用程序期间,我决定在功能上实现Admin,管理服务器状态,作业。

  • 列表项
  

服务器启用禁用状态。使用启用按钮单击事件管理员   可以启动JOB服务器,以便所有Fire和Forget和Recurrent作业都可以   执行。并且“禁用”按钮会停止JOB的所有活动。

  • 检索服务器的当前状态
  

我想检索JOB服务器的当前状态,所以我可以显示是   服务器开启或关闭。

  • 检索状态并启用/禁用作业状态(仅限循环)。

1 个答案:

答案 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。