Exemple #1
0
        private async Task <Response> SaveScheduledJobs()
        {
            Analytics.TrackEventAsync(Category.Admin, Action.Update, "Update ScheduledJobs", Username, CookieHelper.GetAnalyticClientId(Cookies));
            var settings = this.Bind <ScheduledJobsSettings>();

            if (!string.IsNullOrEmpty(settings.RecentlyAddedCron))
            {
                // Validate CRON
                var isValid = CronExpression.IsValidExpression(settings.RecentlyAddedCron);

                if (!isValid)
                {
                    return(Response.AsJson(new JsonResponseModel
                    {
                        Result = false,
                        Message =
                            $"CRON {settings.RecentlyAddedCron} is not valid. Please ensure you are using a valid CRON."
                    }));
                }
            }
            var result = await ScheduledJobSettings.SaveSettingsAsync(settings);

            return(Response.AsJson(result
                ? new JsonResponseModel {
                Result = true
            }
                : new JsonResponseModel {
                Result = false, Message = "Could not save to Db Please check the logs"
            }));
        }
Exemple #2
0
        private async Task <Response> SaveScheduledJobs()
        {
            Analytics.TrackEventAsync(Category.Admin, Action.Update, "Update ScheduledJobs", Username, CookieHelper.GetAnalyticClientId(Cookies));
            var settings = this.Bind <ScheduledJobsSettings>();

            var result = await ScheduledJobSettings.SaveSettingsAsync(settings);

            return(Response.AsJson(result
                ? new JsonResponseModel {
                Result = true
            }
                : new JsonResponseModel {
                Result = false, Message = "Could not save to Db Please check the logs"
            }));
        }
Exemple #3
0
        private void UpdateScheduledJobs()
        {
            try
            {
                var settings = ScheduledJobSettings.GetSettings();

                settings.PlexUserChecker   = 24;
                settings.PlexContentCacher = 60;

                ScheduledJobSettings.SaveSettings(settings);
            }
            catch (Exception e)
            {
                Logger.Fatal("Exception when migrating Version 1.10.0 (UpdateScheduledJobs)");
                Logger.Fatal(e);
            }
        }
Exemple #4
0
        private async Task <Negotiator> GetScheduledJobs()
        {
            var s = await ScheduledJobSettings.GetSettingsAsync();

            var allJobs = await JobRecorder.GetJobsAsync();

            var jobsDict = allJobs.ToDictionary(k => k.Name, v => v.LastRun);
            var model    = new ScheduledJobsViewModel
            {
                CouchPotatoCacher       = s.CouchPotatoCacher,
                PlexAvailabilityChecker = s.PlexAvailabilityChecker,
                SickRageCacher          = s.SickRageCacher,
                SonarrCacher            = s.SonarrCacher,
                StoreBackup             = s.StoreBackup,
                StoreCleanup            = s.StoreCleanup,
                JobRecorder             = jobsDict
            };

            return(View["SchedulerSettings", model]);
        }
Exemple #5
0
        private async Task <Negotiator> GetScheduledJobs()
        {
            var s = await ScheduledJobSettings.GetSettingsAsync();

            var allJobs = await JobRecorder.GetJobsAsync();

            var dict = new Dictionary <string, DateTime>();


            foreach (var j in allJobs)
            {
                DateTime dt;
                if (dict.TryGetValue(j.Name, out dt))
                {
                    // We already have the key... Somehow, we should have never got this record.
                }
                else
                {
                    dict.Add(j.Name, j.LastRun);
                }
            }

            var model = new ScheduledJobsViewModel
            {
                CouchPotatoCacher        = s.CouchPotatoCacher,
                PlexAvailabilityChecker  = s.PlexAvailabilityChecker,
                SickRageCacher           = s.SickRageCacher,
                SonarrCacher             = s.SonarrCacher,
                StoreBackup              = s.StoreBackup,
                StoreCleanup             = s.StoreCleanup,
                JobRecorder              = dict,
                RecentlyAddedCron        = s.RecentlyAddedCron,
                PlexContentCacher        = s.PlexContentCacher,
                FaultQueueHandler        = s.FaultQueueHandler,
                PlexEpisodeCacher        = s.PlexEpisodeCacher,
                PlexUserChecker          = s.PlexUserChecker,
                UserRequestLimitResetter = s.UserRequestLimitResetter
            };

            return(View["SchedulerSettings", model]);
        }