Я установил Hangfire.Console, и на панели инструментов у меня есть задание, в котором есть несколько строк, которые были добавлены в журнал консоли.
var redisServer = new RedisStorage(Redis, options);
this._api = redisServer.GetMonitoringApi();
this._console = redisServer.GetConsoleApi();
Приведенный выше код дает мне действительный API-интерфейс мониторинга и консольAPI. Используя идентификатор Guid из URL-адреса на панели инструментов, я могу получить информацию об этой работе из API мониторинга.
var jobdata = _api.JobDetails(jobid);
В следующей части я не получаю никаких данных. Я пробовал много вариантов этого с множеством различных аргументов, которые доступны. Ничто не возвращает никаких строк.
var state = jobdata.History.FirstOrDefault(x => x.StateName == ProcessingState.StateName);
if (state != null)
{
var joblog = _console.GetLines(jobid, DateTime.Parse(state.Data["StartedAt"]));
//joblog always returns 0 lines. I can see the lines in the dashboard so i am sure there are lines.
}