namespace BrokerApiCore; using Microsoft.Extensions.Hosting; public class MetaDataReloadScheduler : BackgroundService { const int m_reload_interval_min = 1; private readonly BrokerApiMetaLoader m_broker_api_meta_data_loader; public MetaDataReloadScheduler(BrokerApiMetaLoader brokerApiMetaDataLoader) { m_broker_api_meta_data_loader = brokerApiMetaDataLoader; } protected override async Task ExecuteAsync(CancellationToken stoppingToken) { using var timer = new PeriodicTimer(TimeSpan.FromMinutes(m_reload_interval_min)); while (!stoppingToken.IsCancellationRequested) { // TODO: 버전 관리 이슈를 먼저 해결할 후에 사용할 것 // m_broker_api_meta_data_loader.load(); await timer.WaitForNextTickAsync(stoppingToken); } } }