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);
        }
Esempio n. 2
0
        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));
        }