получить статус задания через конечную точку API - PullRequest
0 голосов
/ 20 мая 2019

У меня есть конечная точка API, которая запускается и выполняет задание при выполнении.Я хотел бы создать другую конечную точку, чтобы знать, все еще выполняется состояние задания через предыдущую конечную точку или нет.

1) Я создал интерфейс / класс со свойством bool и установил для свойства значение true вначало и ложь в конце метода.Внедрил интерфейс как в хранилище, так и в контроллер, но значение всегда ложно даже во время работы.Я думаю, что Dependency Injection создает новый экземпляр.2) Я попытался создать открытое свойство в репозитории и установить значение в начале метода на true и false после завершения задания в конце метода, который называется репозиторием в конечной точке состояния.Но это снова оказывается ложным (код ниже)

[routeof(start)]
[HttpPost]

public async Task<ActionResult> Start(){

var serviceProvider = GetServiceProvider().GetService<JobRepo>();

If(serviceProvider.Running){
return BadRequest();
}

await serviceprovider.Run();

Return Ok();

}


[HttpGet]

public ActionResult Status()
{

var serviceProvider = GetServiceProvider().GetService<JobRepo>();

 return Ok(serviceProvider.Running.ToString())

}

В JobRepo,

public bool Running {get; set;}

public void Run()
{

Running = true;

//logic to run the job and complete works fine

Running = false;

}

Я также попытался создать и взаимодействовать со свойством bool и внедрить его в репои контроллер

Пожалуйста, игнорируйте синтаксические и орфографические ошибки.Задание работает нормально, мне нужно, чтобы состояние задания было истинным, когда оно запущено, и ложным в противном случаеЯ ожидаю, что свойство bool будет истинным во время выполнения задания и ложным, когда задание завершено и до его запуска.Я получаю значение как ложное, так как оно создает новый экземпляр.Как получить статус задания, выполняющегося в хранилище при вызове из конечной точки контроллера?

...