public DownloadActor( IDownloadApplicationSettings downloadApplicationSettings, IHttpClientFactory httpClientFactory, IHostingEnvironment hostingEnvironment, ActorPathsBuilder actorPathsBuilder) { this.androidDownloadBuildActor = Context.ActorOf( Props.Create(() => new DownloadApplicationActor( downloadApplicationSettings, httpClientFactory, hostingEnvironment, downloadApplicationSettings.AndroidGetBuildsUrl, downloadApplicationSettings.AndroidGetBuildDownloadLinkTemplateUrl, ApplicationTypeEnum.Android, actorPathsBuilder)), "download-android-build"); this.iosDownloadBuildActor = Context.ActorOf( Props.Create(() => new DownloadApplicationActor( downloadApplicationSettings, httpClientFactory, hostingEnvironment, downloadApplicationSettings.IosGetBuildsUrl, downloadApplicationSettings.IosGetBuildDownloadLinkTemplateUrl, ApplicationTypeEnum.Ios, actorPathsBuilder)), "download-ios-build"); Context.System.Scheduler.ScheduleTellRepeatedly( TimeSpan.Zero, TimeSpan.FromMinutes(downloadApplicationSettings.DownloadBuildIntervalMinutes), this.Self, RefreshApplicationBuilds.Instance, this.Self); }
public DownloadApplicationActor( IDownloadApplicationSettings downloadApplicationSettings, IHttpClientFactory httpClientFactory, IHostingEnvironment hostingEnvironment, string getBuildsUrl, string getBuildDownloadLinkTemplateUrl, ApplicationTypeEnum applicationType, ActorPathsBuilder actorPathsBuilder) { this.getBuildsUrl = getBuildsUrl; this.getBuildDownloadLinkTemplateUrl = getBuildDownloadLinkTemplateUrl; this.hostingEnvironment = hostingEnvironment; this.downloadApplicationSettings = downloadApplicationSettings; this.httpClientFactory = httpClientFactory; this.applicationType = applicationType; this.applicationBuildsActor = Context.ActorSelection(actorPathsBuilder.Get(WellKnownActorPaths.ApplicationBuilds)); }