public InitialWarmupService(MediaServerConfig mediaServerConfig, CareFreeHttpClient careFreeHttpClient, IEnumerable <Conference> conferences, IEnumerable <string> speakers) { this.mediaServerConfig = mediaServerConfig; this.careFreeHttpClient = careFreeHttpClient; this.conferences = conferences; this.speakers = speakers; }
void WarmUpCache(CareFreeHttpClient careFreeHttpClient, MediaServerConfig mediaServerConfig) { var config = Configuration.Get <AppConfig>(); var conferenceMetaDataService = new ConferenceMetaDataService(config); var conferences = conferenceMetaDataService.CreateConferenceConfig().GetAwaiter().GetResult(); var speakerMetadataService = new SpeakerMetadataService(config, conferences); var speakers = speakerMetadataService.GetAllSpeakers().GetAwaiter().GetResult(); var initialWarmupService = new InitialWarmupService(mediaServerConfig, careFreeHttpClient, conferences, speakers); initialWarmupService.TouchEndpoints().GetAwaiter().GetResult(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); var httpClient = new HttpClient(); services.AddSingleton(httpClient); var careFreeHttpClient = new CareFreeHttpClient(httpClient); services.AddSingleton(careFreeHttpClient); // TODO: From config. And theres more in blob storage services. var baseUrl = "http://media-server:5000"; var mediaServerConfig = new MediaServerConfig(baseUrl, baseUrl + "/Conference", baseUrl + "/Speaker"); services.AddSingleton <MediaServerConfig>(); WarmUpCache(careFreeHttpClient, mediaServerConfig); services.AddSingleton <ContinuousWarmupService>(); }
public ContinuousWarmupService(MediaServerConfig mediaServerConfig, CareFreeHttpClient careFreeHttpClient) { this.mediaServerConfig = mediaServerConfig; this.careFreeHttpClient = careFreeHttpClient; }