首页 > 解决方案 > 如何检查我的工作是为 FluentScheduler .NET 启动还是停止

问题描述

如何检查是否为FluentScheduler .NET 运行作业。我在类中有以下代码Startup.cs用于初始化我的工作:

var registry = new Registry();
registry.Schedule<SendPushesJob>().ToRunNow().AndEvery(60).Seconds();
JobManager.Initialize(registry);

以及我的控制器中的以下代码:

public IActionResult StopSender()
{
    JobManager.Stop();

    return RedirectToAction("Index");
}

public IActionResult StartSender()
{
    JobManager.Start();

    return RedirectToAction("Index");
}

我想在视图上显示我的工作是开始还是停止。我怎么能做到这一点?我看不到合适的方法。

标签: c#.net-corefluentscheduler

解决方案


也许这不是很优雅的方式,但我已经用以下方式解决了它。

在我的控制器中:

public IActionResult StopSender()
{
    JobManager.RemoveAllJobs();

    return RedirectToAction("Index");
}

public IActionResult StartSender()
{
    var registry = new Registry();
    registry.Schedule<SendPushesJob>().ToRunNow().AndEvery(60).Seconds();
    JobManager.Initialize(registry);

    return RedirectToAction("Index");
}

在视图中:

<span>
    @if (JobManager.AllSchedules.Any())
    {
        <strong class="text-success">Scheduler is working!</strong>   
    }
    else
    {
        <strong>Scheduler is stopped</strong>   
    }
</span>

我想你明白我在我的项目中只有一份工作。


推荐阅读