나는 1 시간마다 실행되는 quartz.net 작업을 개발 중이다. 다음 메소드를 실행합니다. for 루프 안에 webapi를 호출합니다. 모든 스레드가 완료된 후에 GetChangedScripts() 메서드에서 반환 할 수 있는지 확인하려면? 이 작업을 수행하거나 올바르게 수행 했습니까?C# for 루프에서 호출하는 방법
작업
public void Execute(IJobExecutionContext context)
{
try
{
var scripts = _scriptService.GetScripts().GetAwaiter().GetResult();
}
catch (Exception ex)
{
_logProvider.Error("Error while executing Script Changed Notification job : " + ex);
}
}
서비스 방법 :
public async Task<IEnumerable<ChangedScriptsByChannel>> GetScripts()
{
var result = new List<ChangedScriptsByChannel>();
var currentTime = _systemClock.CurrentTime;
var channelsToProcess = _lastRunReader.GetChannelsToProcess().ToList();
if (!channelsToProcess.Any()) return result;
foreach (var channel in channelsToProcess)
{
var changedScripts = await _scriptRepository.GetChangedScriptAsync(queryString);
if (changedScriptsList.Any())
{
result.Add(new ChangedScriptsByChannel()
{
ChannelCode = channel.ChannelCode,
ChangedScripts = changedScriptsList
});
}
}
return result;
}