HangFire服务器启用 - 手动禁用

iml*_*lim 6 c# asp.net hangfire

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

  • 项目清单

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

  • 检索Server的当前状态

我想检索JOB服务器的当前状态,所以我可以显示服务器是打开还是关闭.

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

jta*_*loc 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
}
Run Code Online (Sandbox Code Playgroud)

从这里你可以玩Hangfire.