Hangfire, как извлечь все задания
Чтобы извлечь и отобразить все сохраненные задания с помощью Hangfire без пользовательского интерфейса, выполните следующие действия:
1. В вашем коде C# создайте новый маршрут конечной точки HTTP GET с путем «/jobs». Он будет обрабатывать запрос на получение заданий.
[HttpGet("jobs")]
[ProducesResponseType(StatusCodes.Status200OK)]
public IActionResult GetJobs()
{
// Step 2
}
2. Внутри метода конечной точки обратитесь к JobStorage.Currentобъекту MonitoringApi, который предоставляет методы для запроса заданий Hangfire.
var monitoringApi = JobStorage.Current.GetMonitoringApi();
3. Используйте EnqueuedJobs метод объекта MonitoringApiдля получения сведений о задании. Этот метод возвращает словарь, где ключом является идентификатор задания, а значением — сведения о задании.
var jobDetails = monitoringApi.EnqueuedJobs();
4. Инициализируйте объект ответа, например List<object>, , для хранения полученных сведений о задании.
var response = new List<object>();
5. Пройдитесь по jobDetailsсловарю и извлеките информацию о задании, которую вы хотите отобразить. В этом примере мы включаем идентификатор задания, имя задания, поставленную в очередь временную метку и состояние задания.
foreach (var job in jobDetails)
{
response.Add(new
{
JobId = job.Key,
JobName = job.Value.Job.Type.FullName,
EnqueuedAt = job.Value.EnqueuedAt,
State = job.Value.State
});
}
6. Верните объект ответа как HTTP-ответ, используя Okметод интерфейса IActionResult.
return Ok(response);
Реализовав эти шаги, вы сможете успешно извлекать и отображать все сохраненные задания с помощью Hangfire без использования пользовательского интерфейса.
Только полноправные пользователи могут оставлять комментарии. Аутентифицируйтесь пожалуйста, используя сервисы.