public override void Execute() { WriteLiteral("\r\n"); #line 7 "..\..\Dashboard\Pages\FetchedJobsPage.cshtml" Layout = new LayoutPage(Queue.ToUpperInvariant()); int from, perPage; int.TryParse(Query("from"), out from); int.TryParse(Query("count"), out perPage); var monitor = Storage.GetMonitoringApi(); var pager = new Pager(from, perPage, monitor.FetchedCount(Queue)); var fetchedJobs = monitor.FetchedJobs(Queue, pager.FromRecord, pager.RecordsPerPage); #line default #line hidden WriteLiteral("\r\n<div class=\"row\">\r\n <div class=\"col-md-3\">\r\n "); #line 22 "..\..\Dashboard\Pages\FetchedJobsPage.cshtml" Write(Html.JobsSidebar()); #line default #line hidden WriteLiteral("\r\n </div>\r\n <div class=\"col-md-9\">\r\n "); #line 25 "..\..\Dashboard\Pages\FetchedJobsPage.cshtml" Write(Html.Breadcrumbs(Queue.ToUpperInvariant(), new Dictionary<string, string> { { "Queues", Url.LinkToQueues() }, { Queue.ToUpperInvariant(), Url.Queue(Queue) } })); #line default #line hidden WriteLiteral("\r\n\r\n <h1 class=\"page-header\">\r\n "); #line 32 "..\..\Dashboard\Pages\FetchedJobsPage.cshtml" Write(Queue.ToUpperInvariant()); #line default #line hidden WriteLiteral(" <small>Fetched jobs</small>\r\n </h1>\r\n\r\n"); #line 35 "..\..\Dashboard\Pages\FetchedJobsPage.cshtml" if (pager.TotalPageCount == 0) { #line default #line hidden WriteLiteral(" <div class=\"alert alert-info\">\r\n The queue is empty.\r\n " + "</div>\r\n"); #line 40 "..\..\Dashboard\Pages\FetchedJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <div class=\"js-jobs-list\">\r\n <div class=\"btn-toolbar btn-toolb" + "ar-top\">\r\n <button class=\"js-jobs-list-command btn btn-sm btn-pri" + "mary\"\r\n data-url=\""); #line 46 "..\..\Dashboard\Pages\FetchedJobsPage.cshtml" Write(Url.To("/jobs/enqueued/requeue")); #line default #line hidden WriteLiteral(@""" data-loading-text=""Enqueueing..."" disabled=""disabled""> <span class=""glyphicon glyphicon-repeat""></span> Requeue jobs </button> <button class=""js-jobs-list-command btn btn-sm btn-default"" data-url="""); #line 54 "..\..\Dashboard\Pages\FetchedJobsPage.cshtml" Write(Url.To("/jobs/enqueued/delete")); #line default #line hidden WriteLiteral(@""" data-loading-text=""Deleting..."" data-confirm=""Do you really want to DELETE ALL selected jobs?"" disabled=""disabled""> <span class=""glyphicon glyphicon-remove""></span> Delete selected </button> "); #line 62 "..\..\Dashboard\Pages\FetchedJobsPage.cshtml" Write(Html.PerPageSelector(pager)); #line default #line hidden WriteLiteral(@" </div> <table class=""table""> <thead> <tr> <th class=""min-width""> <input type=""checkbox"" class=""js-jobs-list-select-all""/> </th> <th class=""min-width"">Id</th> <th class=""min-width"">State</th> <th>Job</th> <th class=""align-right"">Fetched</th> </tr> </thead> <tbody> "); #line 78 "..\..\Dashboard\Pages\FetchedJobsPage.cshtml" foreach (var job in fetchedJobs) { #line default #line hidden WriteLiteral(" <tr class=\"js-jobs-list-row hover\">\r\n " + "<td>\r\n <input type=\"checkbox\" class=\"js-jobs-list-che" + "ckbox\" name=\"jobs[]\" value=\""); #line 82 "..\..\Dashboard\Pages\FetchedJobsPage.cshtml" Write(job.Key); #line default #line hidden WriteLiteral("\"/>\r\n </td>\r\n <td class=\"min-width\"" + ">\r\n "); #line 85 "..\..\Dashboard\Pages\FetchedJobsPage.cshtml" Write(Html.JobIdLink(job.Key)); #line default #line hidden WriteLiteral("\r\n </td>\r\n <td class=\"min-width\">\r\n" + " "); #line 88 "..\..\Dashboard\Pages\FetchedJobsPage.cshtml" Write(Html.StateLabel(job.Value.State)); #line default #line hidden WriteLiteral("\r\n </td>\r\n <td>\r\n " + " "); #line 91 "..\..\Dashboard\Pages\FetchedJobsPage.cshtml" Write(Html.JobNameLink(job.Key, job.Value.Job)); #line default #line hidden WriteLiteral("\r\n </td>\r\n <td class=\"align-right\">" + "\r\n"); #line 94 "..\..\Dashboard\Pages\FetchedJobsPage.cshtml" if (job.Value.FetchedAt.HasValue) { #line default #line hidden #line 96 "..\..\Dashboard\Pages\FetchedJobsPage.cshtml" Write(Html.RelativeTime(job.Value.FetchedAt.Value)); #line default #line hidden #line 96 "..\..\Dashboard\Pages\FetchedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n </tr>\r\n"); #line 100 "..\..\Dashboard\Pages\FetchedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </tbody>\r\n </table>\r\n\r\n "); #line 104 "..\..\Dashboard\Pages\FetchedJobsPage.cshtml" Write(Html.Paginator(pager)); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 106 "..\..\Dashboard\Pages\FetchedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </div>\r\n</div>"); }
public override void Execute() { WriteLiteral("\r\n"); #line 9 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Layout = new LayoutPage("Recurring jobs"); List<RecurringJobDto> recurringJobs; int from, perPage; int.TryParse(Query("from"), out from); int.TryParse(Query("count"), out perPage); Pager pager = null; using (var connection = Storage.GetConnection()) { var storageConnection = connection as JobStorageConnection; if (storageConnection != null) { pager = new Pager(from, perPage, storageConnection.GetRecurringJobCount()); recurringJobs = storageConnection.GetRecurringJobs(pager.FromRecord, pager.FromRecord + pager.RecordsPerPage - 1); } else { recurringJobs = connection.GetRecurringJobs(); } } #line default #line hidden WriteLiteral("\r\n<div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <h1 class=\"page-header\"" + ">Recurring Jobs</h1>\r\n\r\n"); #line 39 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" if (recurringJobs.Count == 0) { #line default #line hidden WriteLiteral(" <div class=\"alert alert-info\">\r\n No recurring jobs fou" + "nd.\r\n </div>\r\n"); #line 44 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <div class=\"js-jobs-list\">\r\n <div class=\"btn-toolbar b" + "tn-toolbar-top\">\r\n <button class=\"js-jobs-list-command btn bt" + "n-sm btn-primary\"\r\n data-url=\""); #line 50 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Url.To("/recurring/trigger")); #line default #line hidden WriteLiteral(@""" data-loading-text=""Triggering..."" disabled=""disabled""> <span class=""glyphicon glyphicon-play-circle""></span> Trigger now </button> <button class=""js-jobs-list-command btn btn-sm btn-default"" data-url="""); #line 58 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Url.To("/recurring/remove")); #line default #line hidden WriteLiteral(@""" data-loading-text=""Removing..."" data-confirm=""Do you really want to REMOVE ALL selected jobs?"" disabled=""disabled""> <span class=""glyphicon glyphicon-remove""></span> Remove </button> "); #line 66 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" if (pager != null) { #line default #line hidden WriteLiteral(" "); WriteLiteral(" "); #line 68 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Html.PerPageSelector(pager)); #line default #line hidden WriteLiteral("\r\n"); #line 69 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } #line default #line hidden WriteLiteral(@" </div> <table class=""table""> <thead> <tr> <th class=""min-width""> <input type=""checkbox"" class=""js-jobs-list-select-all""/> </th> <th class=""min-width"">Id</th> <th class=""min-width"">Cron</th> <th>Time zone</th> <th>Job</th> <th class=""align-right min-width"">Next execution</th> <th class=""align-right min-width"">Last execution</th> </tr> </thead> <tbody> "); #line 87 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" foreach (var job in recurringJobs) { #line default #line hidden WriteLiteral(" <tr class=\"js-jobs-list-row hover\">\r\n " + " <td>\r\n <input type=\"checkbox\" class=\"js-j" + "obs-list-checkbox\" name=\"jobs[]\" value=\""); #line 91 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(job.Id); #line default #line hidden WriteLiteral("\"/>\r\n </td>\r\n <td class=\"mi" + "n-width\">"); #line 93 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(job.Id); #line default #line hidden WriteLiteral("</td>\r\n <td class=\"min-width\">\r\n " + " "); WriteLiteral("\r\n"); #line 96 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" var cronDescription = job.Cron; try { cronDescription = ExpressionDescriptor.GetDescription(job.Cron); } catch (FormatException) { } #line default #line hidden WriteLiteral(" "); #line 106 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(cronDescription); #line default #line hidden WriteLiteral("\r\n </td>\r\n <td class=\"min-w" + "idth\">\r\n"); #line 109 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" if (!String.IsNullOrWhiteSpace(job.TimeZoneId)) { #line default #line hidden WriteLiteral(" <span title=\""); #line 111 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(TimeZoneInfo.FindSystemTimeZoneById(job.TimeZoneId).DisplayName); #line default #line hidden WriteLiteral("\" data-container=\"body\">"); #line 111 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(job.TimeZoneId); #line default #line hidden WriteLiteral("</span>\r\n"); #line 112 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" "); WriteLiteral(" UTC\r\n"); #line 116 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <td>\r\n"); #line 119 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" if (job.Job != null) { #line default #line hidden WriteLiteral(" "); WriteLiteral(" "); #line 121 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Html.JobName(job.Job)); #line default #line hidden WriteLiteral("\r\n"); #line 122 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <em>"); #line 125 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(job.LoadException.InnerException.Message); #line default #line hidden WriteLiteral("</em>\r\n"); #line 126 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <td class=\"align-r" + "ight min-width\">\r\n"); #line 129 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" if (job.NextExecution != null) { #line default #line hidden #line 131 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Html.RelativeTime(job.NextExecution.Value)); #line default #line hidden #line 131 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <em>N/A</em>\r\n"); #line 136 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <td class=\"align-r" + "ight min-width\">\r\n"); #line 139 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" if (job.LastExecution != null) { if (!String.IsNullOrEmpty(job.LastJobId)) { #line default #line hidden WriteLiteral(" <a href=\""); #line 143 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Url.JobDetails(job.LastJobId)); #line default #line hidden WriteLiteral("\">\r\n <span class=\"label label-default " + "label-hover\" style=\""); #line 144 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(String.Format("background-color: {0};", JobHistoryRenderer.GetForegroundStateColor(job.LastJobState))); #line default #line hidden WriteLiteral("\">\r\n "); #line 145 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Html.RelativeTime(job.LastExecution.Value)); #line default #line hidden WriteLiteral("\r\n </span>\r\n " + " </a>\r\n"); #line 148 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <em>\r\n " + " Canceled\r\n "); #line 153 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Html.RelativeTime(job.LastExecution.Value)); #line default #line hidden WriteLiteral("\r\n </em>\r\n"); #line 155 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } } else { #line default #line hidden WriteLiteral(" <em>N/A</em>\r\n"); #line 160 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n </tr>\r\n"); #line 163 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </tbody>\r\n </table>\r\n\r\n"); #line 167 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" if (pager != null) { #line default #line hidden WriteLiteral(" "); WriteLiteral(" "); #line 169 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Html.Paginator(pager)); #line default #line hidden WriteLiteral("\r\n"); #line 170 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </div>\r\n"); #line 172 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </div>\r\n</div> "); }
public override void Execute() { WriteLiteral("\r\n"); #line 5 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Layout = new LayoutPage("Deleted Jobs"); int from, perPage; int.TryParse(Query("from"), out from); int.TryParse(Query("count"), out perPage); var monitor = Storage.GetMonitoringApi(); var pager = new Pager(from, perPage, monitor.DeletedListCount()); var jobs = monitor.DeletedJobs(pager.FromRecord, pager.RecordsPerPage); #line default #line hidden WriteLiteral("\r\n<div class=\"row\">\r\n <div class=\"col-md-3\">\r\n "); #line 20 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Html.JobsSidebar()); #line default #line hidden WriteLiteral("\r\n </div>\r\n <div class=\"col-md-9\">\r\n <h1 class=\"page-header\">Deleted" + " Jobs</h1>\r\n\r\n"); #line 25 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" if (pager.TotalPageCount == 0) { #line default #line hidden WriteLiteral(" <div class=\"alert alert-info\">\r\n No deleted jobs found" + ".\r\n </div>\r\n"); #line 30 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <div class=\"js-jobs-list\">\r\n <div class=\"btn-toolbar b" + "tn-toolbar-top\">\r\n <button class=\"js-jobs-list-command btn bt" + "n-sm btn-primary\"\r\n data-url=\""); #line 36 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Url.To("/jobs/deleted/requeue")); #line default #line hidden WriteLiteral(@""" data-loading-text=""Enqueueing..."" disabled=""disabled""> <span class=""glyphicon glyphicon-repeat""></span> Requeue jobs </button> "); #line 42 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Html.PerPageSelector(pager)); #line default #line hidden WriteLiteral(@" </div> <table class=""table""> <thead> <tr> <th class=""min-width""> <input type=""checkbox"" class=""js-jobs-list-select-all""/> </th> <th class=""min-width"">Id</th> <th>Job</th> <th class=""align-right"">Deleted</th> </tr> </thead> <tbody> "); #line 56 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" foreach (var job in jobs) { #line default #line hidden WriteLiteral(" <tr class=\"js-jobs-list-row "); #line 58 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(job.Value != null && !job.Value.InDeletedState ? "obsolete-data" : null); #line default #line hidden WriteLiteral(" "); #line 58 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(job.Value != null && job.Value.InDeletedState && job.Value != null ? "hover" : null); #line default #line hidden WriteLiteral("\">\r\n <td>\r\n"); #line 60 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" if (job.Value != null && job.Value.InDeletedState) { #line default #line hidden WriteLiteral(" <input type=\"checkbox\" class=\"js-jobs-list-ch" + "eckbox\" name=\"jobs[]\" value=\""); #line 62 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(job.Key); #line default #line hidden WriteLiteral("\"/>\r\n"); #line 63 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <td class=\"min-wid" + "th\">\r\n "); #line 66 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Html.JobIdLink(job.Key)); #line default #line hidden WriteLiteral("\r\n"); #line 67 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" if (job.Value != null && !job.Value.InDeletedState) { #line default #line hidden WriteLiteral(" <span title=\"Job\'s state has been changed whi" + "le fetching data.\" class=\"glyphicon glyphicon-question-sign\"></span>\r\n"); #line 70 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n\r\n"); #line 73 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" if (job.Value == null) { #line default #line hidden WriteLiteral(" <td colspan=\"2\"><em>Job has expired.</em></td>\r\n"); #line 76 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <td>\r\n "); #line 80 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Html.JobNameLink(job.Key, job.Value.Job)); #line default #line hidden WriteLiteral("\r\n </td>\r\n"); WriteLiteral(" <td class=\"align-right\">\r\n"); #line 83 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" if (job.Value.DeletedAt.HasValue) { #line default #line hidden #line 85 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Html.RelativeTime(job.Value.DeletedAt.Value)); #line default #line hidden #line 85 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n"); #line 88 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </tr>\r\n"); #line 90 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </tbody>\r\n </table>\r\n\r\n "); #line 94 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Html.Paginator(pager)); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 96 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </div>\r\n</div>\r\n\r\n"); }
public override void Execute() { WriteLiteral("\r\n"); #line 7 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Layout = new LayoutPage("Processing Jobs"); int from, perPage; int.TryParse(Query("from"), out from); int.TryParse(Query("count"), out perPage); var monitor = Storage.GetMonitoringApi(); var pager = new Pager(from, perPage, monitor.ProcessingCount()); var processingJobs = monitor.ProcessingJobs(pager.FromRecord, pager.RecordsPerPage); var servers = monitor.Servers(); #line default #line hidden WriteLiteral("\r\n<div class=\"row\">\r\n <div class=\"col-md-3\">\r\n "); #line 23 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Html.JobsSidebar()); #line default #line hidden WriteLiteral("\r\n </div>\r\n <div class=\"col-md-9\">\r\n <h1 class=\"page-header\">Process" + "ing Jobs</h1>\r\n\r\n"); #line 28 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" if (pager.TotalPageCount == 0) { #line default #line hidden WriteLiteral(" <div class=\"alert alert-info\">\r\n No jobs are being pro" + "cessed right now.\r\n </div>\r\n"); #line 33 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <div class=\"js-jobs-list\">\r\n <div class=\"btn-toolbar b" + "tn-toolbar-top\">\r\n <button class=\"js-jobs-list-command btn bt" + "n-sm btn-primary\"\r\n data-url=\""); #line 39 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Url.To("/jobs/processing/requeue")); #line default #line hidden WriteLiteral(@""" data-loading-text=""Enqueueing..."" disabled=""disabled""> <span class=""glyphicon glyphicon-repeat""></span> Requeue jobs </button> <button class=""js-jobs-list-command btn btn-sm btn-default"" data-url="""); #line 47 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Url.To("/jobs/processing/delete")); #line default #line hidden WriteLiteral(@""" data-loading-text=""Deleting..."" data-confirm=""Do you really want to DELETE ALL selected jobs?"" disabled=""disabled""> <span class=""glyphicon glyphicon-remove""></span> Delete selected </button> "); #line 55 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Html.PerPageSelector(pager)); #line default #line hidden WriteLiteral(@" </div> <table class=""table""> <thead> <tr> <th class=""min-width""> <input type=""checkbox"" class=""js-jobs-list-select-all""/> </th> <th class=""min-width"">Id</th> <th class=""min-width"">Server</th> <th>Job</th> <th class=""align-right"">Started</th> </tr> </thead> <tbody> "); #line 71 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" foreach (var job in processingJobs) { #line default #line hidden WriteLiteral(" <tr class=\"js-jobs-list-row "); #line 73 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(!job.Value.InProcessingState ? "obsolete-data" : null); #line default #line hidden WriteLiteral(" "); #line 73 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(job.Value.InProcessingState ? "hover" : null); #line default #line hidden WriteLiteral("\">\r\n <td>\r\n"); #line 75 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" if (job.Value.InProcessingState) { #line default #line hidden WriteLiteral(" <input type=\"checkbox\" class=\"js-jobs-list-ch" + "eckbox\" name=\"jobs[]\" value=\""); #line 77 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(job.Key); #line default #line hidden WriteLiteral("\"/>\r\n"); #line 78 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <td class=\"min-wid" + "th\">\r\n "); #line 81 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Html.JobIdLink(job.Key)); #line default #line hidden WriteLiteral("\r\n"); #line 82 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" if (!job.Value.InProcessingState) { #line default #line hidden WriteLiteral(" <span title=\"Job\'s state has been changed whi" + "le fetching data.\" class=\"glyphicon glyphicon-question-sign\"></span>\r\n"); #line 85 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <td class=\"min-wid" + "th\">\r\n "); #line 88 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(job.Value.ServerId.ToUpperInvariant()); #line default #line hidden WriteLiteral("\r\n </td>\r\n <td>\r\n"); #line 91 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" if (servers.All(x => x.Name != job.Value.ServerId || x.Heartbeat < DateTime.UtcNow.AddMinutes(-1))) { #line default #line hidden WriteLiteral(" <span title=\"Looks like the job was aborted\" " + "class=\"glyphicon glyphicon-warning-sign\" style=\"font-size: 10px;\"></span>\r\n"); #line 94 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } #line default #line hidden WriteLiteral(" \r\n "); #line 96 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Html.JobNameLink(job.Key, job.Value.Job)); #line default #line hidden WriteLiteral("\r\n </td>\r\n <td class=\"align" + "-right\">\r\n"); #line 99 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" if (job.Value.StartedAt.HasValue) { #line default #line hidden #line 101 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Html.RelativeTime(job.Value.StartedAt.Value)); #line default #line hidden #line 101 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n </tr>\r\n"); #line 105 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </tbody>\r\n </table>\r\n\r\n "); #line 109 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Html.Paginator(pager)); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 111 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </div>\r\n</div>"); }
public override void Execute() { WriteLiteral("\r\n"); #line 10 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Layout = new LayoutPage(Strings.AwaitingJobsPage_Title); int from, perPage; int.TryParse(Query("from"), out from); int.TryParse(Query("count"), out perPage); List<string> jobIds = null; Pager pager = null; using (var connection = Storage.GetConnection()) { var storageConnection = connection as JobStorageConnection; if (storageConnection != null) { pager = new Pager(from, perPage, storageConnection.GetSetCount("awaiting")); jobIds = storageConnection.GetRangeFromSet("awaiting", pager.FromRecord, pager.FromRecord + pager.RecordsPerPage - 1); } } #line default #line hidden WriteLiteral("\r\n<div class=\"row\">\r\n <div class=\"col-md-3\">\r\n "); #line 35 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Html.JobsSidebar()); #line default #line hidden WriteLiteral("\r\n </div>\r\n <div class=\"col-md-9\">\r\n <h1 class=\"page-header\">"); #line 38 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Strings.AwaitingJobsPage_Title); #line default #line hidden WriteLiteral("</h1>\r\n\r\n"); #line 40 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" if (jobIds == null) { #line default #line hidden WriteLiteral(" <div class=\"alert alert-warning\">\r\n <h4>"); #line 43 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Strings.AwaitingJobsPage_ContinuationsWarning_Title); #line default #line hidden WriteLiteral("</h4>\r\n <p>"); #line 44 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Strings.AwaitingJobsPage_ContinuationsWarning_Text); #line default #line hidden WriteLiteral("</p>\r\n </div>\r\n"); #line 46 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" } else if (jobIds.Count > 0) { #line default #line hidden WriteLiteral(" <div class=\"js-jobs-list\">\r\n <div class=\"btn-toolbar b" + "tn-toolbar-top\">\r\n <button class=\"js-jobs-list-command btn bt" + "n-sm btn-primary\"\r\n data-url=\""); #line 52 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Url.To("/jobs/awaiting/enqueue")); #line default #line hidden WriteLiteral("\"\r\n data-loading-text=\""); #line 53 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Strings.Common_Enqueueing); #line default #line hidden WriteLiteral("\">\r\n <span class=\"glyphicon glyphicon-repeat\"></span>\r\n " + " "); #line 55 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Strings.Common_EnqueueButton_Text); #line default #line hidden WriteLiteral("\r\n </button>\r\n\r\n <button class=\"js-jobs-lis" + "t-command btn btn-sm btn-default\"\r\n data-url=\""); #line 59 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Url.To("/jobs/awaiting/delete")); #line default #line hidden WriteLiteral("\"\r\n data-loading-text=\""); #line 60 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Strings.Common_Deleting); #line default #line hidden WriteLiteral("\"\r\n data-confirm=\""); #line 61 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Strings.Common_DeleteConfirm); #line default #line hidden WriteLiteral("\">\r\n <span class=\"glyphicon glyphicon-remove\"></span>\r\n " + " "); #line 63 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Strings.Common_DeleteSelected); #line default #line hidden WriteLiteral("\r\n </button>\r\n\r\n "); #line 66 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Html.PerPageSelector(pager)); #line default #line hidden WriteLiteral(@" </div> <div class=""table-responsive""> <table class=""table table-hover""> <thead> <tr> <th class=""min-width""> <input type=""checkbox"" class=""js-jobs-list-select-all"" /> </th> <th class=""min-width"">"); #line 76 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Strings.Common_Id); #line default #line hidden WriteLiteral("</th>\r\n <th>"); #line 77 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Strings.Common_Job); #line default #line hidden WriteLiteral("</th>\r\n <th class=\"min-width\">"); #line 78 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Strings.AwaitingJobsPage_Table_Options); #line default #line hidden WriteLiteral("</th>\r\n <th class=\"min-width\">"); #line 79 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Strings.AwaitingJobsPage_Table_Parent); #line default #line hidden WriteLiteral("</th>\r\n <th class=\"align-right\">"); #line 80 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Strings.Common_Created); #line default #line hidden WriteLiteral("</th>\r\n </tr>\r\n </thead>\r\n " + " <tbody>\r\n"); #line 84 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" foreach (var jobId in jobIds) { JobData jobData; StateData stateData; StateData parentStateData = null; using (var connection = Storage.GetConnection()) { jobData = connection.GetJobData(jobId); stateData = connection.GetStateData(jobId); if (stateData != null && stateData.Name == AwaitingState.StateName) { parentStateData = connection.GetStateData(stateData.Data["ParentId"]); } } #line default #line hidden WriteLiteral(" <tr class=\"js-jobs-list-row "); #line 101 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(jobData != null ? "hover" : null); #line default #line hidden WriteLiteral("\">\r\n <td>\r\n " + " <input type=\"checkbox\" class=\"js-jobs-list-checkbox\" name=\"jobs[]\" value=\""); #line 103 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(jobId); #line default #line hidden WriteLiteral("\" />\r\n </td>\r\n " + " <td class=\"min-width\">\r\n "); #line 106 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Html.JobIdLink(jobId)); #line default #line hidden WriteLiteral("\r\n </td>\r\n"); #line 108 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" if (jobData == null) { #line default #line hidden WriteLiteral(" <td colspan=\"2\"><em>"); #line 110 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Strings.Common_JobExpired); #line default #line hidden WriteLiteral("</em></td>\r\n"); #line 111 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <td class=\"word-break\">\r\n " + " "); #line 115 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Html.JobNameLink(jobId, jobData.Job)); #line default #line hidden WriteLiteral("\r\n </td>\r\n"); WriteLiteral(" <td class=\"min-width\">\r\n"); #line 118 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" if (stateData != null && stateData.Data.ContainsKey("Options") && !String.IsNullOrWhiteSpace(stateData.Data["Options"])) { #line default #line hidden WriteLiteral(" <code>"); #line 120 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(stateData.Data["Options"]); #line default #line hidden WriteLiteral("</code>\r\n"); #line 121 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <em>"); #line 124 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Strings.Common_NotAvailable); #line default #line hidden WriteLiteral("</em>\r\n"); #line 125 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n"); WriteLiteral(" <td class=\"min-width\">\r\n"); #line 128 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" if (parentStateData != null) { #line default #line hidden WriteLiteral(" <a href=\""); #line 130 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Url.JobDetails(stateData.Data["ParentId"])); #line default #line hidden WriteLiteral("\">\r\n <span class=\"label label-" + "default label-hover\" style=\""); #line 131 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write($"background-color: {JobHistoryRenderer.GetForegroundStateColor(parentStateData.Name)};"); #line default #line hidden WriteLiteral("\">\r\n "); #line 132 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(parentStateData.Name); #line default #line hidden WriteLiteral("\r\n </span>\r\n " + " </a>\r\n"); #line 135 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <em>"); #line 138 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Strings.Common_NotAvailable); #line default #line hidden WriteLiteral("</em>\r\n"); #line 139 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n"); WriteLiteral(" <td class=\"min-width align-right\">\r\n " + " "); #line 142 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Html.RelativeTime(jobData.CreatedAt)); #line default #line hidden WriteLiteral("\r\n </td>\r\n"); #line 144 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </tr>\r\n"); #line 146 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </tbody>\r\n </table>\r\n <" + "/div>\r\n "); #line 150 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Html.Paginator(pager)); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 152 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <div class=\"alert alert-info\">\r\n "); #line 156 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Strings.AwaitingJobsPage_NoJobs); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 158 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </div>\r\n</div>\r\n"); }
public override void Execute() { WriteLiteral("\r\n"); #line 9 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Layout = new LayoutPage(Strings.RecurringJobsPage_Title); List<RecurringJobDto> recurringJobs; int from, perPage; int.TryParse(Query("from"), out from); int.TryParse(Query("count"), out perPage); Pager pager = null; using (var connection = Storage.GetConnection()) { var storageConnection = connection as JobStorageConnection; if (storageConnection != null) { pager = new Pager(from, perPage, storageConnection.GetRecurringJobCount()); recurringJobs = storageConnection.GetRecurringJobs(pager.FromRecord, pager.FromRecord + pager.RecordsPerPage - 1); } else { recurringJobs = connection.GetRecurringJobs(); } } #line default #line hidden WriteLiteral("\r\n<div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <h1 class=\"page-header\"" + ">"); #line 37 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Strings.RecurringJobsPage_Title); #line default #line hidden WriteLiteral("</h1>\r\n\r\n"); #line 39 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" if (recurringJobs.Count == 0) { #line default #line hidden WriteLiteral(" <div class=\"alert alert-info\">\r\n "); #line 42 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Strings.RecurringJobsPage_NoJobs); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 44 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <div class=\"js-jobs-list\">\r\n <div class=\"btn-toolbar b" + "tn-toolbar-top\">\r\n <button class=\"js-jobs-list-command btn bt" + "n-sm btn-primary\"\r\n data-url=\""); #line 50 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Url.To("/recurring/trigger")); #line default #line hidden WriteLiteral("\"\r\n data-loading-text=\""); #line 51 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Strings.RecurringJobsPage_Triggering); #line default #line hidden WriteLiteral("\"\r\n disabled=\"disabled\">\r\n <spa" + "n class=\"glyphicon glyphicon-play-circle\"></span>\r\n "); #line 54 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Strings.RecurringJobsPage_TriggerNow); #line default #line hidden WriteLiteral("\r\n </button>\r\n\r\n <button class=\"js-jobs-lis" + "t-command btn btn-sm btn-default\"\r\n data-url=\""); #line 58 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Url.To("/recurring/remove")); #line default #line hidden WriteLiteral("\"\r\n data-loading-text=\""); #line 59 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Strings.Common_Deleting); #line default #line hidden WriteLiteral("\"\r\n data-confirm=\""); #line 60 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Strings.Common_DeleteConfirm); #line default #line hidden WriteLiteral("\"\r\n disabled=\"disabled\">\r\n <spa" + "n class=\"glyphicon glyphicon-remove\"></span>\r\n "); #line 63 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Strings.Common_Delete); #line default #line hidden WriteLiteral("\r\n </button>\r\n\r\n"); #line 66 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" if (pager != null) { #line default #line hidden WriteLiteral(" "); WriteLiteral(" "); #line 68 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Html.PerPageSelector(pager)); #line default #line hidden WriteLiteral("\r\n"); #line 69 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } #line default #line hidden WriteLiteral(@" </div> <div class=""table-responsive""> <table class=""table""> <thead> <tr> <th class=""min-width""> <input type=""checkbox"" class=""js-jobs-list-select-all"" /> </th> <th class=""min-width"">"); #line 79 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Strings.Common_Id); #line default #line hidden WriteLiteral("</th>\r\n <th class=\"min-width\">"); #line 80 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Strings.RecurringJobsPage_Table_Cron); #line default #line hidden WriteLiteral("</th>\r\n <th class=\"min-width\">"); #line 81 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Strings.RecurringJobsPage_Table_TimeZone); #line default #line hidden WriteLiteral("</th>\r\n <th>"); #line 82 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Strings.Common_Job); #line default #line hidden WriteLiteral("</th>\r\n <th class=\"align-right min-width\">"); #line 83 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Strings.RecurringJobsPage_Table_NextExecution); #line default #line hidden WriteLiteral("</th>\r\n <th class=\"align-right min-width\">"); #line 84 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Strings.RecurringJobsPage_Table_LastExecution); #line default #line hidden WriteLiteral("</th>\r\n <th class=\"align-right min-width\">"); #line 85 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Strings.Common_Created); #line default #line hidden WriteLiteral("</th>\r\n </tr>\r\n </thead>\r\n " + " <tbody>\r\n"); #line 89 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" foreach (var job in recurringJobs) { #line default #line hidden WriteLiteral(" <tr class=\"js-jobs-list-row hover\">\r\n " + " <td>\r\n <input typ" + "e=\"checkbox\" class=\"js-jobs-list-checkbox\" name=\"jobs[]\" value=\""); #line 93 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(job.Id); #line default #line hidden WriteLiteral("\" />\r\n </td>\r\n " + " <td class=\"min-width\">"); #line 95 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(job.Id); #line default #line hidden WriteLiteral("</td>\r\n <td class=\"min-width\">\r\n " + " "); WriteLiteral("\r\n"); #line 98 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" string cronDescription = null; #if NETFULL try { cronDescription = CronExpressionDescriptor.ExpressionDescriptor.GetDescription(job.Cron); } catch (FormatException) { } #endif #line default #line hidden WriteLiteral("\r\n"); #line 111 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" if (cronDescription != null) { #line default #line hidden WriteLiteral(" <code title=\""); #line 113 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(cronDescription); #line default #line hidden WriteLiteral("\">"); #line 113 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(job.Cron); #line default #line hidden WriteLiteral("</code>\r\n"); #line 114 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <code>"); #line 117 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(job.Cron); #line default #line hidden WriteLiteral("</code>\r\n"); #line 118 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <t" + "d class=\"min-width\">\r\n"); #line 121 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" if (!String.IsNullOrWhiteSpace(job.TimeZoneId)) { #line default #line hidden WriteLiteral(" <span title=\""); #line 123 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(TimeZoneInfo.FindSystemTimeZoneById(job.TimeZoneId).DisplayName); #line default #line hidden WriteLiteral("\" data-container=\"body\">"); #line 123 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(job.TimeZoneId); #line default #line hidden WriteLiteral("</span>\r\n"); #line 124 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" "); WriteLiteral(" UTC\r\n"); #line 128 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <t" + "d class=\"word-break\">\r\n"); #line 131 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" if (job.Job != null) { #line default #line hidden WriteLiteral(" "); WriteLiteral(" "); #line 133 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Html.JobName(job.Job)); #line default #line hidden WriteLiteral("\r\n"); #line 134 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <em>"); #line 137 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(job.LoadException.InnerException.Message); #line default #line hidden WriteLiteral("</em>\r\n"); #line 138 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <t" + "d class=\"align-right min-width\">\r\n"); #line 141 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" if (job.NextExecution != null) { #line default #line hidden #line 143 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Html.RelativeTime(job.NextExecution.Value)); #line default #line hidden #line 143 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <em>"); #line 147 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Strings.Common_NotAvailable); #line default #line hidden WriteLiteral("</em>\r\n"); #line 148 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <t" + "d class=\"align-right min-width\">\r\n"); #line 151 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" if (job.LastExecution != null) { if (!String.IsNullOrEmpty(job.LastJobId)) { #line default #line hidden WriteLiteral(" <a href=\""); #line 155 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Url.JobDetails(job.LastJobId)); #line default #line hidden WriteLiteral("\">\r\n <span class=\"label label-" + "default label-hover\" style=\""); #line 156 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write($"background-color: {JobHistoryRenderer.GetForegroundStateColor(job.LastJobState)};"); #line default #line hidden WriteLiteral("\">\r\n "); #line 157 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Html.RelativeTime(job.LastExecution.Value)); #line default #line hidden WriteLiteral("\r\n </span>\r\n " + " </a>\r\n"); #line 160 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <em>\r\n " + " "); #line 164 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Strings.RecurringJobsPage_Canceled); #line default #line hidden WriteLiteral(" "); #line 164 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Html.RelativeTime(job.LastExecution.Value)); #line default #line hidden WriteLiteral("\r\n </em>\r\n"); #line 166 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } } else { #line default #line hidden WriteLiteral(" <em>"); #line 170 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Strings.Common_NotAvailable); #line default #line hidden WriteLiteral("</em>\r\n"); #line 171 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <t" + "d class=\"align-right min-width\">\r\n"); #line 174 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" if (job.CreatedAt != null) { #line default #line hidden #line 176 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Html.RelativeTime(job.CreatedAt.Value)); #line default #line hidden #line 176 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <em>N/A</em>\r\n"); #line 181 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n </tr>\r" + "\n"); #line 184 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </tbody>\r\n </table>\r\n <" + "/div>\r\n\r\n"); #line 189 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" if (pager != null) { #line default #line hidden WriteLiteral(" "); WriteLiteral(" "); #line 191 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" Write(Html.Paginator(pager)); #line default #line hidden WriteLiteral("\r\n"); #line 192 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </div>\r\n"); #line 194 "..\..\Dashboard\Pages\RecurringJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </div>\r\n</div> "); }
public override void Execute() { WriteLiteral("\r\n"); #line 7 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Layout = new LayoutPage(Strings.SucceededJobsPage_Title); int from, perPage; int.TryParse(Query("from"), out from); int.TryParse(Query("count"), out perPage); var monitor = Storage.GetMonitoringApi(); var pager = new Pager(from, perPage, monitor.SucceededListCount()); var succeededJobs = monitor.SucceededJobs(pager.FromRecord, pager.RecordsPerPage); #line default #line hidden WriteLiteral("\r\n<div class=\"row\">\r\n <div class=\"col-md-3\">\r\n "); #line 22 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Html.JobsSidebar()); #line default #line hidden WriteLiteral("\r\n </div>\r\n <div class=\"col-md-9\">\r\n <h1 class=\"page-header\">"); #line 25 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Strings.SucceededJobsPage_Title); #line default #line hidden WriteLiteral("</h1>\r\n\r\n"); #line 27 "..\..\Dashboard\Pages\SucceededJobs.cshtml" if (pager.TotalPageCount == 0) { #line default #line hidden WriteLiteral(" <div class=\"alert alert-info\">\r\n "); #line 30 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Strings.SucceededJobsPage_NoJobs); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 32 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } else { #line default #line hidden WriteLiteral(" <div class=\"js-jobs-list\">\r\n <div class=\"btn-toolbar b" + "tn-toolbar-top\">\r\n <button class=\"js-jobs-list-command btn bt" + "n-sm btn-primary\"\r\n data-url=\""); #line 38 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Url.To("/jobs/succeeded/requeue")); #line default #line hidden WriteLiteral("\"\r\n data-loading-text=\""); #line 39 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Strings.Common_Enqueueing); #line default #line hidden WriteLiteral("\"\r\n disabled=\"disabled\">\r\n <spa" + "n class=\"glyphicon glyphicon-repeat\"></span>\r\n "); #line 42 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Strings.Common_RequeueJobs); #line default #line hidden WriteLiteral("\r\n </button>\r\n\r\n "); #line 45 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Html.PerPageSelector(pager)); #line default #line hidden WriteLiteral(@" </div> <div class=""table-responsive""> <table class=""table""> <thead> <tr> <th class=""min-width""> <input type=""checkbox"" class=""js-jobs-list-select-all"" /> </th> <th class=""min-width"">"); #line 55 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Strings.Common_Id); #line default #line hidden WriteLiteral("</th>\r\n <th>"); #line 56 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Strings.Common_Job); #line default #line hidden WriteLiteral("</th>\r\n <th class=\"min-width\">"); #line 57 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Strings.SucceededJobsPage_Table_TotalDuration); #line default #line hidden WriteLiteral("</th>\r\n <th class=\"align-right\">"); #line 58 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Strings.SucceededJobsPage_Table_Succeeded); #line default #line hidden WriteLiteral("</th>\r\n </tr>\r\n </thead>\r\n " + " <tbody>\r\n"); #line 62 "..\..\Dashboard\Pages\SucceededJobs.cshtml" foreach (var job in succeededJobs) { #line default #line hidden WriteLiteral(" <tr class=\"js-jobs-list-row "); #line 64 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(job.Value == null || !job.Value.InSucceededState ? "obsolete-data" : null); #line default #line hidden WriteLiteral(" "); #line 64 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(job.Value != null && job.Value.InSucceededState ? "hover" : null); #line default #line hidden WriteLiteral("\">\r\n <td>\r\n"); #line 66 "..\..\Dashboard\Pages\SucceededJobs.cshtml" if (job.Value == null || job.Value.InSucceededState) { #line default #line hidden WriteLiteral(" <input type=\"checkbox\" class=\"js-jobs" + "-list-checkbox\" name=\"jobs[]\" value=\""); #line 68 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(job.Key); #line default #line hidden WriteLiteral("\" />\r\n"); #line 69 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <t" + "d class=\"min-width\">\r\n "); #line 72 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Html.JobIdLink(job.Key)); #line default #line hidden WriteLiteral("\r\n"); #line 73 "..\..\Dashboard\Pages\SucceededJobs.cshtml" if (job.Value != null && !job.Value.InSucceededState) { #line default #line hidden WriteLiteral(" <span title=\""); #line 75 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Strings.Common_JobStateChanged_Text); #line default #line hidden WriteLiteral("\" class=\"glyphicon glyphicon-question-sign\"></span>\r\n"); #line 76 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n\r\n"); #line 79 "..\..\Dashboard\Pages\SucceededJobs.cshtml" if (job.Value == null) { #line default #line hidden WriteLiteral(" <td colspan=\"3\">\r\n " + " <em>"); #line 82 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Strings.Common_JobExpired); #line default #line hidden WriteLiteral("</em>\r\n </td>\r\n"); #line 84 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } else { #line default #line hidden WriteLiteral(" <td class=\"word-break\">\r\n " + " "); #line 88 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Html.JobNameLink(job.Key, job.Value.Job)); #line default #line hidden WriteLiteral("\r\n </td>\r\n"); WriteLiteral(" <td class=\"min-width align-right\">\r\n"); #line 91 "..\..\Dashboard\Pages\SucceededJobs.cshtml" if (job.Value.TotalDuration.HasValue) { #line default #line hidden #line 93 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Html.ToHumanDuration(TimeSpan.FromMilliseconds(job.Value.TotalDuration.Value), false)); #line default #line hidden #line 93 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n"); WriteLiteral(" <td class=\"min-width align-right\">\r\n"); #line 97 "..\..\Dashboard\Pages\SucceededJobs.cshtml" if (job.Value.SucceededAt.HasValue) { #line default #line hidden #line 99 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Html.RelativeTime(job.Value.SucceededAt.Value)); #line default #line hidden #line 99 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n"); #line 102 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } #line default #line hidden WriteLiteral(" </tr>\r\n"); #line 104 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } #line default #line hidden WriteLiteral(" </tbody>\r\n </table>\r\n <" + "/div>\r\n\r\n "); #line 109 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Html.Paginator(pager)); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 111 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } #line default #line hidden WriteLiteral(" </div>\r\n</div>"); }
public override void Execute() { WriteLiteral("\r\n"); #line 5 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Layout = new LayoutPage("Scheduled Jobs"); int from, perPage; int.TryParse(Query("from"), out from); int.TryParse(Query("count"), out perPage); var monitor = Storage.GetMonitoringApi(); var pager = new Pager(from, perPage, monitor.ScheduledCount()); var scheduledJobs = monitor.ScheduledJobs(pager.FromRecord, pager.RecordsPerPage); #line default #line hidden WriteLiteral("\r\n<div class=\"row\">\r\n <div class=\"col-md-3\">\r\n "); #line 20 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Html.JobsSidebar()); #line default #line hidden WriteLiteral("\r\n </div>\r\n <div class=\"col-md-9\">\r\n <h1 class=\"page-header\">Schedul" + "ed Jobs</h1>\r\n\r\n"); #line 25 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" if (pager.TotalPageCount == 0) { #line default #line hidden WriteLiteral(" <div class=\"alert alert-info\">\r\n There are no schedule" + "d jobs.\r\n </div>\r\n"); #line 30 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <div class=\"js-jobs-list\">\r\n <div class=\"btn-toolbar b" + "tn-toolbar-top\">\r\n <button class=\"js-jobs-list-command btn bt" + "n-sm btn-primary\"\r\n data-url=\""); #line 36 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Url.To("/jobs/scheduled/enqueue")); #line default #line hidden WriteLiteral(@""" data-loading-text=""Enqueueing..."" disabled=""disabled""> <span class=""glyphicon glyphicon-play""></span> Enqueue now </button> <button class=""js-jobs-list-command btn btn-sm btn-default"" data-url="""); #line 44 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Url.To("/jobs/scheduled/delete")); #line default #line hidden WriteLiteral(@""" data-loading-text=""Deleting..."" data-confirm=""Do you really want to DELETE ALL selected jobs?"" disabled=""disabled""> <span class=""glyphicon glyphicon-remove""></span> Delete selected </button> "); #line 52 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Html.PerPageSelector(pager)); #line default #line hidden WriteLiteral(@" </div> <table class=""table""> <thead> <tr> <th class=""min-width""> <input type=""checkbox"" class=""js-jobs-list-select-all""/> </th> <th class=""min-width"">Id</th> <th>Enqueue</th> <th>Job</th> <th class=""align-right"">Scheduled</th> </tr> </thead> "); #line 67 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" foreach (var job in scheduledJobs) { #line default #line hidden WriteLiteral(" <tr class=\"js-jobs-list-row "); #line 69 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(!job.Value.InScheduledState ? "obsolete-data" : null); #line default #line hidden WriteLiteral(" "); #line 69 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(job.Value.InScheduledState ? "hover" : null); #line default #line hidden WriteLiteral("\">\r\n <td>\r\n"); #line 71 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" if (job.Value.InScheduledState) { #line default #line hidden WriteLiteral(" <input type=\"checkbox\" class=\"js-jobs-list-ch" + "eckbox\" name=\"jobs[]\" value=\""); #line 73 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(job.Key); #line default #line hidden WriteLiteral("\"/>\r\n"); #line 74 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <td class=\"min-wid" + "th\">\r\n "); #line 77 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Html.JobIdLink(job.Key)); #line default #line hidden WriteLiteral("\r\n"); #line 78 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" if (!job.Value.InScheduledState) { #line default #line hidden WriteLiteral(" <span title=\"Job\'s state has been changed whi" + "le fetching data.\" class=\"glyphicon glyphicon-question-sign\"></span>\r\n"); #line 81 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <td class=\"min-wid" + "th\">\r\n "); #line 84 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Html.RelativeTime(job.Value.EnqueueAt)); #line default #line hidden WriteLiteral("\r\n </td>\r\n <td>\r\n " + " "); #line 87 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Html.JobNameLink(job.Key, job.Value.Job)); #line default #line hidden WriteLiteral("\r\n </td>\r\n <td class=\"align" + "-right\">\r\n"); #line 90 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" if (job.Value.ScheduledAt.HasValue) { #line default #line hidden #line 92 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Html.RelativeTime(job.Value.ScheduledAt.Value)); #line default #line hidden #line 92 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n </tr>\r\n"); #line 96 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </table>\r\n\r\n "); #line 99 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Html.Paginator(pager)); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 101 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </div>\r\n</div>"); }
public override void Execute() { WriteLiteral("\r\n"); #line 8 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Layout = new LayoutPage(Queue.ToUpperInvariant()); int from, perPage; int.TryParse(Query("from"), out from); int.TryParse(Query("count"), out perPage); var monitor = Storage.GetMonitoringApi(); var pager = new Pager(from, perPage, monitor.EnqueuedCount(Queue)); var enqueuedJobs = monitor.EnqueuedJobs(Queue, pager.FromRecord, pager.RecordsPerPage); #line default #line hidden WriteLiteral("\r\n<div class=\"row\">\r\n <div class=\"col-md-3\">\r\n "); #line 23 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Html.JobsSidebar()); #line default #line hidden WriteLiteral("\r\n </div>\r\n <div class=\"col-md-9\">\r\n "); #line 26 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Html.Breadcrumbs(Queue.ToUpperInvariant(), new Dictionary<string, string> { { "Queues", Url.LinkToQueues() } })); #line default #line hidden WriteLiteral("\r\n\r\n <h1 class=\"page-header\">"); #line 31 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Queue.ToUpperInvariant()); #line default #line hidden WriteLiteral(" <small>"); #line 31 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Strings.EnqueuedJobsPage_Title); #line default #line hidden WriteLiteral("</small></h1>\r\n\r\n"); #line 33 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" if (pager.TotalPageCount == 0) { #line default #line hidden WriteLiteral(" <div class=\"alert alert-info\">\r\n "); #line 36 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Strings.EnqueuedJobsPage_NoJobs); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 38 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <div class=\"js-jobs-list\">\r\n <div class=\"btn-toolbar b" + "tn-toolbar-top\">\r\n <button class=\"js-jobs-list-command btn bt" + "n-sm btn-default\"\r\n data-url=\""); #line 44 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Url.To("/jobs/enqueued/delete")); #line default #line hidden WriteLiteral("\"\r\n data-loading-text=\""); #line 45 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Strings.Common_Deleting); #line default #line hidden WriteLiteral("\"\r\n data-confirm=\""); #line 46 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Strings.Common_DeleteConfirm); #line default #line hidden WriteLiteral("\"\r\n disabled=\"disabled\">\r\n <spa" + "n class=\"glyphicon glyphicon-remove\"></span>\r\n "); #line 49 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Strings.Common_DeleteSelected); #line default #line hidden WriteLiteral("\r\n </button>\r\n\r\n "); #line 52 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Html.PerPageSelector(pager)); #line default #line hidden WriteLiteral(@" </div> <div class=""table-responsive""> <table class=""table""> <thead> <tr> <th class=""min-width""> <input type=""checkbox"" class=""js-jobs-list-select-all""/> </th> <th class=""min-width"">"); #line 62 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Strings.Common_Id); #line default #line hidden WriteLiteral("</th>\r\n <th class=\"min-width\">"); #line 63 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Strings.Common_State); #line default #line hidden WriteLiteral("</th>\r\n <th>"); #line 64 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Strings.Common_Job); #line default #line hidden WriteLiteral("</th>\r\n <th class=\"align-right\">"); #line 65 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Strings.Common_Enqueued); #line default #line hidden WriteLiteral("</th>\r\n </tr>\r\n </thead>\r\n " + " <tbody>\r\n"); #line 69 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" foreach (var job in enqueuedJobs) { #line default #line hidden WriteLiteral(" <tr class=\"js-jobs-list-row hover "); #line 71 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(job.Value == null || !job.Value.InEnqueuedState ? "obsolete-data" : null); #line default #line hidden WriteLiteral("\">\r\n <td>\r\n"); #line 73 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" if (job.Value != null) { #line default #line hidden WriteLiteral(" <input type=\"checkbox\" class=\"js-jobs-lis" + "t-checkbox\" name=\"jobs[]\" value=\""); #line 75 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(job.Key); #line default #line hidden WriteLiteral("\"/>\r\n"); #line 76 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <td class=" + "\"min-width\">\r\n "); #line 79 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Html.JobIdLink(job.Key)); #line default #line hidden WriteLiteral("\r\n"); #line 80 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" if (job.Value != null && !job.Value.InEnqueuedState) { #line default #line hidden WriteLiteral(" <span title=\""); #line 82 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Strings.Common_JobStateChanged_Text); #line default #line hidden WriteLiteral("\" class=\"glyphicon glyphicon-question-sign\"></span>\r\n"); #line 83 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n"); #line 85 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" if (job.Value == null) { #line default #line hidden WriteLiteral(" <td colspan=\"3\"><em>"); #line 87 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Strings.Common_JobExpired); #line default #line hidden WriteLiteral("</em></td>\r\n"); #line 88 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <td class=\"min-width\">\r\n " + " "); #line 92 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Html.StateLabel(job.Value.State)); #line default #line hidden WriteLiteral("\r\n </td>\r\n"); WriteLiteral(" <td class=\"word-break\">\r\n " + " "); #line 95 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Html.JobNameLink(job.Key, job.Value.Job)); #line default #line hidden WriteLiteral("\r\n </td>\r\n"); WriteLiteral(" <td class=\"align-right\">\r\n"); #line 98 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" if (job.Value.EnqueuedAt.HasValue) { #line default #line hidden #line 100 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Html.RelativeTime(job.Value.EnqueuedAt.Value)); #line default #line hidden #line 100 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <em>"); #line 104 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Strings.Common_NotAvailable); #line default #line hidden WriteLiteral("</em>\r\n"); #line 105 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n"); #line 107 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </tr>\r\n"); #line 109 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </tbody>\r\n </table>\r\n <" + "/div>\r\n\r\n "); #line 114 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Html.Paginator(pager)); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 116 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </div>\r\n</div>"); }
public override void Execute() { WriteLiteral("\r\n"); #line 9 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Layout = new LayoutPage("Awaiting Jobs"); int from, perPage; int.TryParse(Query("from"), out from); int.TryParse(Query("count"), out perPage); List<string> jobIds; Pager pager; using (var connection = Storage.GetConnection()) { var storageConnection = connection as JobStorageConnection; if (storageConnection == null) { throw new NotSupportedException("Continuations are not supported for your current job storage implementation."); } pager = new Pager(from, perPage, storageConnection.GetSetCount("awaiting")); jobIds = storageConnection.GetRangeFromSet("awaiting", pager.FromRecord, pager.FromRecord + pager.RecordsPerPage - 1); } #line default #line hidden WriteLiteral("\r\n<div class=\"row\">\r\n <div class=\"col-md-3\">\r\n "); #line 36 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Html.JobsSidebar()); #line default #line hidden WriteLiteral("\r\n </div>\r\n <div class=\"col-md-9\">\r\n <h1 class=\"page-header\">Awaitin" + "g Jobs</h1>\r\n\r\n"); #line 41 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" if (jobIds.Count > 0) { #line default #line hidden WriteLiteral(" <div class=\"js-jobs-list\">\r\n <div class=\"btn-toolbar b" + "tn-toolbar-top\">\r\n <button class=\"js-jobs-list-command btn bt" + "n-sm btn-primary\"\r\n data-url=\""); #line 46 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Url.To("/jobs/awaiting/enqueue")); #line default #line hidden WriteLiteral(@""" data-loading-text=""Enqueueing...""> <span class=""glyphicon glyphicon-repeat""></span> Enqueue jobs </button> <button class=""js-jobs-list-command btn btn-sm btn-default"" data-url="""); #line 53 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Url.To("/jobs/awaiting/delete")); #line default #line hidden WriteLiteral(@""" data-loading-text=""Deleting..."" data-confirm=""Do you really want to DELETE ALL selected jobs?""> <span class=""glyphicon glyphicon-remove""></span> Delete selected </button> "); #line 60 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Html.PerPageSelector(pager)); #line default #line hidden WriteLiteral(@" </div> <table class=""table table-hover""> <thead> <tr> <th class=""min-width""> <input type=""checkbox"" class=""js-jobs-list-select-all"" /> </th> <th class=""min-width"">Id</th> <th>Job</th> <th class=""min-width"">Options</th> <th class=""min-width"">Parent</th> <th class=""align-right"">Created</th> </tr> </thead> <tbody> "); #line 77 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" foreach (var jobId in jobIds) { JobData jobData; StateData stateData; StateData parentStateData = null; using (var connection = Storage.GetConnection()) { jobData = connection.GetJobData(jobId); stateData = connection.GetStateData(jobId); if (stateData != null && stateData.Name == AwaitingState.StateName) { parentStateData = connection.GetStateData(stateData.Data["ParentId"]); } } #line default #line hidden WriteLiteral(" <tr class=\"js-jobs-list-row "); #line 94 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(jobData != null ? "hover" : null); #line default #line hidden WriteLiteral("\">\r\n <td>\r\n <in" + "put type=\"checkbox\" class=\"js-jobs-list-checkbox\" name=\"jobs[]\" value=\""); #line 96 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(jobId); #line default #line hidden WriteLiteral("\" />\r\n </td>\r\n <td " + "class=\"min-width\">\r\n "); #line 99 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Html.JobIdLink(jobId)); #line default #line hidden WriteLiteral("\r\n </td>\r\n"); #line 101 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" if (jobData == null) { #line default #line hidden WriteLiteral(" <td colspan=\"2\"><em>Job expired.</em></td>\r\n"); #line 104 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <td>\r\n " + " "); #line 108 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Html.JobNameLink(jobId, jobData.Job)); #line default #line hidden WriteLiteral("\r\n </td>\r\n"); WriteLiteral(" <td class=\"min-width\">\r\n"); #line 111 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" if (stateData != null && stateData.Data.ContainsKey("Options") && !String.IsNullOrWhiteSpace(stateData.Data["Options"])) { #line default #line hidden WriteLiteral(" <code>"); #line 113 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(stateData.Data["Options"]); #line default #line hidden WriteLiteral("</code>\r\n"); #line 114 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <em>N/A</em>\r\n"); #line 118 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n"); WriteLiteral(" <td class=\"min-width\">\r\n"); #line 121 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" if (parentStateData != null) { #line default #line hidden WriteLiteral(" <a href=\""); #line 123 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Url.JobDetails(stateData.Data["ParentId"])); #line default #line hidden WriteLiteral("\">\r\n <span class=\"label label-defa" + "ult label-hover\" style=\""); #line 124 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(String.Format("background-color: {0};", JobHistoryRenderer.GetForegroundStateColor(parentStateData.Name))); #line default #line hidden WriteLiteral("\">\r\n "); #line 125 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(parentStateData.Name); #line default #line hidden WriteLiteral("\r\n </span>\r\n " + " </a>\r\n"); #line 128 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <em>N/A</em>\r\n"); #line 132 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n"); WriteLiteral(" <td class=\"min-width align-right\">\r\n " + " "); #line 135 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Html.RelativeTime(jobData.CreatedAt)); #line default #line hidden WriteLiteral("\r\n </td>\r\n"); #line 137 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </tr>\r\n"); #line 139 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </tbody>\r\n </table>\r\n "); #line 142 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" Write(Html.Paginator(pager)); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 144 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <div class=\"alert alert-info\">\r\n No jobs found in awai" + "ting state.\r\n </div>\r\n"); #line 150 "..\..\Dashboard\Pages\AwaitingJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </div>\r\n</div>\r\n"); }
public override void Execute() { WriteLiteral("\r\n"); #line 8 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Layout = new LayoutPage(Strings.ProcessingJobsPage_Title); int from, perPage; int.TryParse(Query("from"), out from); int.TryParse(Query("count"), out perPage); var monitor = Storage.GetMonitoringApi(); var pager = new Pager(from, perPage, monitor.ProcessingCount()); var processingJobs = monitor.ProcessingJobs(pager.FromRecord, pager.RecordsPerPage); var servers = monitor.Servers(); #line default #line hidden WriteLiteral("\r\n<div class=\"row\">\r\n <div class=\"col-md-3\">\r\n "); #line 24 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Html.JobsSidebar()); #line default #line hidden WriteLiteral("\r\n </div>\r\n <div class=\"col-md-9\">\r\n <h1 class=\"page-header\">"); #line 27 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.ProcessingJobsPage_Title); #line default #line hidden WriteLiteral("</h1>\r\n\r\n"); #line 29 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" if (pager.TotalPageCount == 0) { #line default #line hidden WriteLiteral(" <div class=\"alert alert-info\">\r\n "); #line 32 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.ProcessingJobsPage_NoJobs); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 34 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <div class=\"js-jobs-list\">\r\n <div class=\"btn-toolbar b" + "tn-toolbar-top\">\r\n <button class=\"js-jobs-list-command btn bt" + "n-sm btn-primary\"\r\n data-url=\""); #line 40 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Url.To("/jobs/processing/requeue")); #line default #line hidden WriteLiteral("\"\r\n data-loading-text=\""); #line 41 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.Common_Enqueueing); #line default #line hidden WriteLiteral("\"\r\n disabled=\"disabled\">\r\n <spa" + "n class=\"glyphicon glyphicon-repeat\"></span>\r\n "); #line 44 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.Common_RequeueJobs); #line default #line hidden WriteLiteral("\r\n </button>\r\n\r\n <button class=\"js-jobs-lis" + "t-command btn btn-sm btn-default\"\r\n data-url=\""); #line 48 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Url.To("/jobs/processing/delete")); #line default #line hidden WriteLiteral("\"\r\n data-loading-text=\""); #line 49 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.Common_Deleting); #line default #line hidden WriteLiteral("\"\r\n data-confirm=\""); #line 50 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.Common_DeleteConfirm); #line default #line hidden WriteLiteral("\"\r\n disabled=\"disabled\">\r\n <spa" + "n class=\"glyphicon glyphicon-remove\"></span>\r\n "); #line 53 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.Common_DeleteSelected); #line default #line hidden WriteLiteral("\r\n </button>\r\n\r\n "); #line 56 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Html.PerPageSelector(pager)); #line default #line hidden WriteLiteral(@" </div> <div class=""table-responsive""> <table class=""table""> <thead> <tr> <th class=""min-width""> <input type=""checkbox"" class=""js-jobs-list-select-all"" /> </th> <th class=""min-width"">"); #line 66 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.Common_Id); #line default #line hidden WriteLiteral("</th>\r\n <th class=\"min-width\">"); #line 67 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.Common_Server); #line default #line hidden WriteLiteral("</th>\r\n <th>"); #line 68 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.Common_Job); #line default #line hidden WriteLiteral("</th>\r\n <th class=\"align-right\">"); #line 69 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.ProcessingJobsPage_Table_Started); #line default #line hidden WriteLiteral("</th>\r\n </tr>\r\n </thead>\r\n " + " <tbody>\r\n"); #line 73 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" foreach (var job in processingJobs) { #line default #line hidden WriteLiteral(" <tr class=\"js-jobs-list-row "); #line 75 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(!job.Value.InProcessingState ? "obsolete-data" : null); #line default #line hidden WriteLiteral(" "); #line 75 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(job.Value.InProcessingState ? "hover" : null); #line default #line hidden WriteLiteral("\">\r\n <td>\r\n"); #line 77 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" if (job.Value.InProcessingState) { #line default #line hidden WriteLiteral(" <input type=\"checkbox\" class=\"js-jobs" + "-list-checkbox\" name=\"jobs[]\" value=\""); #line 79 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(job.Key); #line default #line hidden WriteLiteral("\" />\r\n"); #line 80 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <t" + "d class=\"min-width\">\r\n "); #line 83 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Html.JobIdLink(job.Key)); #line default #line hidden WriteLiteral("\r\n"); #line 84 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" if (!job.Value.InProcessingState) { #line default #line hidden WriteLiteral(" <span title=\""); #line 86 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.Common_JobStateChanged_Text); #line default #line hidden WriteLiteral("\" class=\"glyphicon glyphicon-question-sign\"></span>\r\n"); #line 87 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <t" + "d class=\"min-width\">\r\n "); #line 90 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Html.ServerId(job.Value.ServerId)); #line default #line hidden WriteLiteral("\r\n </td>\r\n " + "<td class=\"word-break\">\r\n"); #line 93 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" if (servers.All(x => x.Name != job.Value.ServerId || x.Heartbeat < DateTime.UtcNow.AddMinutes(-1))) { #line default #line hidden WriteLiteral(" <span title=\""); #line 95 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.ProcessingJobsPage_Aborted); #line default #line hidden WriteLiteral("\" class=\"glyphicon glyphicon-warning-sign\" style=\"font-size: 10px;\"></span>\r\n"); #line 96 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } #line default #line hidden WriteLiteral("\r\n "); #line 98 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Html.JobNameLink(job.Key, job.Value.Job)); #line default #line hidden WriteLiteral("\r\n </td>\r\n " + "<td class=\"align-right\">\r\n"); #line 101 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" if (job.Value.StartedAt.HasValue) { #line default #line hidden #line 103 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Html.RelativeTime(job.Value.StartedAt.Value)); #line default #line hidden #line 103 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n </tr>\r" + "\n"); #line 107 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </tbody>\r\n </table>\r\n <" + "/div>\r\n\r\n "); #line 112 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Html.Paginator(pager)); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 114 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </div>\r\n</div>"); }
public override void Execute() { WriteLiteral("\r\n"); #line 7 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Layout = new LayoutPage(Strings.FailedJobsPage_Title); int from, perPage; int.TryParse(Query("from"), out from); int.TryParse(Query("count"), out perPage); var monitor = Storage.GetMonitoringApi(); var pager = new Pager(from, perPage, monitor.FailedCount()); var failedJobs = monitor.FailedJobs(pager.FromRecord, pager.RecordsPerPage); #line default #line hidden WriteLiteral("\r\n<div class=\"row\">\r\n <div class=\"col-md-3\">\r\n "); #line 22 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.JobsSidebar()); #line default #line hidden WriteLiteral("\r\n </div>\r\n <div class=\"col-md-9\">\r\n <h1 class=\"page-header\">"); #line 25 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Strings.FailedJobsPage_Title); #line default #line hidden WriteLiteral("</h1>\r\n\r\n"); #line 27 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (pager.TotalPageCount == 0) { #line default #line hidden WriteLiteral(" <div class=\"alert alert-success\">\r\n "); #line 30 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Strings.FailedJobsPage_NoJobs); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 32 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <div class=\"alert alert-warning\">\r\n "); #line 36 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.Raw(Strings.FailedJobsPage_FailedJobsNotExpire_Warning_Html)); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 38 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" #line default #line hidden WriteLiteral(" <div class=\"js-jobs-list\">\r\n <div class=\"btn-toolbar b" + "tn-toolbar-top\">\r\n <button class=\"js-jobs-list-command btn bt" + "n-sm btn-primary\"\r\n data-url=\""); #line 42 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Url.To("/jobs/failed/requeue")); #line default #line hidden WriteLiteral("\"\r\n data-loading-text=\""); #line 43 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Strings.Common_Enqueueing); #line default #line hidden WriteLiteral("\"\r\n disabled=\"disabled\">\r\n <spa" + "n class=\"glyphicon glyphicon-repeat\"></span>\r\n "); #line 46 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Strings.Common_RequeueJobs); #line default #line hidden WriteLiteral("\r\n </button>\r\n\r\n <button class=\"js-jobs-lis" + "t-command btn btn-sm btn-default\"\r\n data-url=\""); #line 50 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Url.To("/jobs/failed/delete")); #line default #line hidden WriteLiteral("\"\r\n data-loading-text=\""); #line 51 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Strings.Common_Deleting); #line default #line hidden WriteLiteral("\"\r\n data-confirm=\""); #line 52 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Strings.Common_DeleteConfirm); #line default #line hidden WriteLiteral("\">\r\n <span class=\"glyphicon glyphicon-remove\"></span>\r\n " + " "); #line 54 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Strings.Common_DeleteSelected); #line default #line hidden WriteLiteral("\r\n </button>\r\n\r\n "); #line 57 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.PerPageSelector(pager)); #line default #line hidden WriteLiteral(@" </div> <div class=""table-responsive""> <table class=""table""> <thead> <tr> <th class=""min-width""> <input type=""checkbox"" class=""js-jobs-list-select-all"" /> </th> <th class=""min-width"">"); #line 67 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Strings.Common_Id); #line default #line hidden WriteLiteral("</th>\r\n <th>"); #line 68 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Strings.FailedJobsPage_Table_Failed); #line default #line hidden WriteLiteral("</th>\r\n <th>"); #line 69 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Strings.Common_Job); #line default #line hidden WriteLiteral("</th>\r\n </tr>\r\n </thead>\r\n " + " <tbody>\r\n"); #line 73 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" var index = 0; #line default #line hidden #line 74 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" foreach (var job in failedJobs) { #line default #line hidden WriteLiteral(" <tr class=\"js-jobs-list-row "); #line 76 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(!job.Value.InFailedState ? "obsolete-data" : null); #line default #line hidden WriteLiteral(" "); #line 76 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(job.Value.InFailedState ? "hover" : null); #line default #line hidden WriteLiteral("\">\r\n <td rowspan=\""); #line 77 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(job.Value.InFailedState ? "2" : "1"); #line default #line hidden WriteLiteral("\">\r\n"); #line 78 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (job.Value.InFailedState) { #line default #line hidden WriteLiteral(" <input type=\"checkbox\" class=\"js-jobs" + "-list-checkbox\" name=\"jobs[]\" value=\""); #line 80 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(job.Key); #line default #line hidden WriteLiteral("\" />\r\n"); #line 81 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <t" + "d class=\"min-width\" rowspan=\""); #line 83 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(job.Value.InFailedState ? "2" : "1"); #line default #line hidden WriteLiteral("\">\r\n "); #line 84 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.JobIdLink(job.Key)); #line default #line hidden WriteLiteral("\r\n"); #line 85 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (!job.Value.InFailedState) { #line default #line hidden WriteLiteral(" <span title=\""); #line 87 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Strings.Common_JobStateChanged_Text); #line default #line hidden WriteLiteral("\" class=\"glyphicon glyphicon-question-sign\"></span>\r\n"); #line 88 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <t" + "d class=\"min-width\">\r\n"); #line 91 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (job.Value.FailedAt.HasValue) { #line default #line hidden #line 93 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.RelativeTime(job.Value.FailedAt.Value)); #line default #line hidden #line 93 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <t" + "d>\r\n <div class=\"word-break\">\r\n " + " "); #line 98 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.JobNameLink(job.Key, job.Value.Job)); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 100 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (!String.IsNullOrEmpty(job.Value.ExceptionMessage)) { #line default #line hidden WriteLiteral(" <div style=\"color: #888;\">\r\n " + " "); #line 103 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(job.Value.Reason); #line default #line hidden WriteLiteral(" <a class=\"expander\" href=\"#\">"); #line 103 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(index == 0 ? Strings.Common_LessDetails : Strings.Common_MoreDetails); #line default #line hidden WriteLiteral("</a>\r\n </div>\r\n"); #line 105 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n </tr>\r" + "\n"); #line 108 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (job.Value.InFailedState) { #line default #line hidden WriteLiteral(" <tr>\r\n " + " <td colspan=\"2\" class=\"failed-job-details\">\r\n " + " <div class=\"expandable\" style=\""); #line 112 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(index++ == 0 ? "display: block;" : null); #line default #line hidden WriteLiteral("\">\r\n <h4>"); #line 113 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(job.Value.ExceptionType); #line default #line hidden WriteLiteral("</h4>\r\n <p class=\"text-muted\">\r\n " + " "); #line 115 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(job.Value.ExceptionMessage); #line default #line hidden WriteLiteral("\r\n </p>\r\n\r\n"); #line 118 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (!String.IsNullOrEmpty(job.Value.ExceptionDetails)) { #line default #line hidden WriteLiteral(" <pre class=\"stack-trace\"><cod" + "e>"); #line 120 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.StackTrace(job.Value.ExceptionDetails)); #line default #line hidden WriteLiteral("</code></pre>\r\n"); #line 121 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </div>\r\n " + " </td>\r\n </tr>\r\n"); #line 125 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } } #line default #line hidden WriteLiteral(" </tbody>\r\n </table>\r\n <" + "/div>\r\n\r\n "); #line 131 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.Paginator(pager)); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 133 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </div>\r\n</div>"); }
public override void Execute() { WriteLiteral("\r\n"); #line 8 "..\..\Dashboard\Pages\RetriesPage.cshtml" Layout = new LayoutPage("Retries"); int from, perPage; int.TryParse(Query("from"), out from); int.TryParse(Query("count"), out perPage); Pager pager = null; List<string> jobIds = null; using (var connection = Storage.GetConnection()) { var storageConnection = connection as JobStorageConnection; if (storageConnection != null) { pager = new Pager(@from, perPage, storageConnection.GetSetCount("retries")); jobIds = storageConnection.GetRangeFromSet("retries", pager.FromRecord, pager.FromRecord + pager.RecordsPerPage - 1); } } #line default #line hidden WriteLiteral("\r\n"); #line 31 "..\..\Dashboard\Pages\RetriesPage.cshtml" if (pager == null) { #line default #line hidden WriteLiteral(@" <div class=""alert alert-warning""> <h4>Retries are working, but this page can't be displayed</h4> <p> Don't worry, retries are fully supported. Your current job storage does not fully support some queries required to show this page. Please try to update your storage or wait until the full command set is implemented. </p> <p> Please go to the <a href="""); #line 41 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Url.To("/jobs/scheduled")); #line default #line hidden WriteLiteral("\">Scheduled jobs</a> page to see all the\r\n scheduled jobs including re" + "tries.\r\n </p>\r\n </div>\r\n"); #line 45 "..\..\Dashboard\Pages\RetriesPage.cshtml" } else { #line default #line hidden WriteLiteral(" <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <h1 class=\"pa" + "ge-header\">Retries</h1>\r\n"); #line 51 "..\..\Dashboard\Pages\RetriesPage.cshtml" if (jobIds.Count == 0) { #line default #line hidden WriteLiteral(" <div class=\"alert alert-success\">\r\n All is OK " + "– you have no retries.\r\n </div>\r\n"); #line 56 "..\..\Dashboard\Pages\RetriesPage.cshtml" } else { #line default #line hidden WriteLiteral(" <div class=\"js-jobs-list\">\r\n <div class=\"btn-t" + "oolbar btn-toolbar-top\">\r\n <button class=\"js-jobs-list-co" + "mmand btn btn-sm btn-primary\"\r\n data-url=\""); #line 62 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Url.To("/jobs/scheduled/enqueue")); #line default #line hidden WriteLiteral(@""" data-loading-text=""Enqueueing..."" disabled=""disabled""> <span class=""glyphicon glyphicon-repeat""></span> Enqueue jobs </button> <button class=""js-jobs-list-command btn btn-sm btn-default"" data-url="""); #line 70 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Url.To("/jobs/scheduled/delete")); #line default #line hidden WriteLiteral(@""" data-loading-text=""Deleting..."" data-confirm=""Do you really want to DELETE ALL selected jobs?"" disabled=""disabled""> <span class=""glyphicon glyphicon-remove""></span> Delete selected </button> "); #line 78 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Html.PerPageSelector(pager)); #line default #line hidden WriteLiteral(@" </div> <table class=""table table-hover""> <thead> <tr> <th class=""min-width""> <input type=""checkbox"" class=""js-jobs-list-select-all"" /> </th> <th class=""min-width"">Id</th> <th class=""min-width"">State</th> <th>Job</th> <th>Reason</th> <th class=""align-right"">Retry</th> <th class=""align-right"">Created</th> </tr> </thead> <tbody> "); #line 96 "..\..\Dashboard\Pages\RetriesPage.cshtml" foreach (var jobId in jobIds) { JobData jobData; StateData stateData; using (var connection = Storage.GetConnection()) { jobData = connection.GetJobData(jobId); stateData = connection.GetStateData(jobId); } #line default #line hidden WriteLiteral(" <tr class=\"js-jobs-list-row "); #line 107 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(jobData != null ? "hover" : null); #line default #line hidden WriteLiteral("\">\r\n <td>\r\n " + " <input type=\"checkbox\" class=\"js-jobs-list-checkbox\" name=\"jobs[]\" value=\""); #line 109 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(jobId); #line default #line hidden WriteLiteral("\" />\r\n </td>\r\n " + " <td class=\"min-width\">\r\n "); #line 112 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Html.JobIdLink(jobId)); #line default #line hidden WriteLiteral("\r\n </td>\r\n"); #line 114 "..\..\Dashboard\Pages\RetriesPage.cshtml" if (jobData == null) { #line default #line hidden WriteLiteral(" <td colspan=\"5\"><em>Job expired.</em></td" + ">\r\n"); #line 117 "..\..\Dashboard\Pages\RetriesPage.cshtml" } else { #line default #line hidden WriteLiteral(" <td class=\"min-width\">\r\n " + " "); #line 121 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Html.StateLabel(jobData.State)); #line default #line hidden WriteLiteral("\r\n </td>\r\n"); WriteLiteral(" <td>\r\n " + " "); #line 124 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Html.JobNameLink(jobId, jobData.Job)); #line default #line hidden WriteLiteral("\r\n </td>\r\n"); WriteLiteral(" <td>\r\n " + " "); #line 127 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(stateData != null ? stateData.Reason : null); #line default #line hidden WriteLiteral("\r\n </td>\r\n"); WriteLiteral(" <td class=\"align-right\">\r\n"); #line 130 "..\..\Dashboard\Pages\RetriesPage.cshtml" if (stateData != null && stateData.Data.ContainsKey("EnqueueAt")) { #line default #line hidden #line 132 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Html.RelativeTime(JobHelper.DeserializeDateTime(stateData.Data["EnqueueAt"]))); #line default #line hidden #line 132 "..\..\Dashboard\Pages\RetriesPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n"); WriteLiteral(" <td class=\"align-right\">\r\n " + " "); #line 136 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Html.RelativeTime(jobData.CreatedAt)); #line default #line hidden WriteLiteral("\r\n </td>\r\n"); #line 138 "..\..\Dashboard\Pages\RetriesPage.cshtml" } #line default #line hidden WriteLiteral(" </tr>\r\n"); #line 140 "..\..\Dashboard\Pages\RetriesPage.cshtml" } #line default #line hidden WriteLiteral(" </tbody>\r\n </table>\r\n\r\n " + " "); #line 144 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Html.Paginator(pager)); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 146 "..\..\Dashboard\Pages\RetriesPage.cshtml" } #line default #line hidden WriteLiteral(" </div>\r\n </div>\r\n"); #line 149 "..\..\Dashboard\Pages\RetriesPage.cshtml" } #line default #line hidden }
public override void Execute() { WriteLiteral("\r\n"); #line 7 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Layout = new LayoutPage(Queue.ToUpperInvariant()); int from, perPage; int.TryParse(Query("from"), out from); int.TryParse(Query("count"), out perPage); var monitor = Storage.GetMonitoringApi(); var pager = new Pager(from, perPage, monitor.EnqueuedCount(Queue)); var enqueuedJobs = monitor.EnqueuedJobs(Queue, pager.FromRecord, pager.RecordsPerPage); #line default #line hidden WriteLiteral("\r\n<div class=\"row\">\r\n <div class=\"col-md-3\">\r\n "); #line 22 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Html.JobsSidebar()); #line default #line hidden WriteLiteral("\r\n </div>\r\n <div class=\"col-md-9\">\r\n "); #line 25 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Html.Breadcrumbs(Queue.ToUpperInvariant(), new Dictionary<string, string> { { "Queues", Url.LinkToQueues() } })); #line default #line hidden WriteLiteral("\r\n\r\n <h1 class=\"page-header\">"); #line 30 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Queue.ToUpperInvariant()); #line default #line hidden WriteLiteral(" <small>Enqueued jobs</small></h1>\r\n\r\n"); #line 32 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" if (pager.TotalPageCount == 0) { #line default #line hidden WriteLiteral(" <div class=\"alert alert-info\">\r\n The queue is empty.\r\n" + " </div>\r\n"); #line 37 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <div class=\"js-jobs-list\">\r\n <div class=\"btn-toolbar b" + "tn-toolbar-top\">\r\n <button class=\"js-jobs-list-command btn bt" + "n-sm btn-default\"\r\n data-url=\""); #line 43 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Url.To("/jobs/enqueued/delete")); #line default #line hidden WriteLiteral(@""" data-loading-text=""Deleting..."" data-confirm=""Do you really want to DELETE ALL selected jobs?"" disabled=""disabled""> <span class=""glyphicon glyphicon-remove""></span> Delete selected </button> "); #line 51 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Html.PerPageSelector(pager)); #line default #line hidden WriteLiteral(@" </div> <table class=""table""> <thead> <tr> <th class=""min-width""> <input type=""checkbox"" class=""js-jobs-list-select-all""/> </th> <th class=""min-width"">Id</th> <th class=""min-width"">State</th> <th>Job</th> <th class=""align-right"">Enqueued</th> </tr> </thead> <tbody> "); #line 67 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" foreach (var job in enqueuedJobs) { #line default #line hidden WriteLiteral(" <tr class=\"js-jobs-list-row hover "); #line 69 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(!job.Value.InEnqueuedState ? "obsolete-data" : null); #line default #line hidden WriteLiteral("\">\r\n <td>\r\n <input type" + "=\"checkbox\" class=\"js-jobs-list-checkbox\" name=\"jobs[]\" value=\""); #line 71 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(job.Key); #line default #line hidden WriteLiteral("\"/>\r\n </td>\r\n <td class=\"mi" + "n-width\">\r\n "); #line 74 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Html.JobIdLink(job.Key)); #line default #line hidden WriteLiteral("\r\n"); #line 75 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" if (!job.Value.InEnqueuedState) { #line default #line hidden WriteLiteral(" <span title=\"Job\'s state has been changed whi" + "le fetching data.\" class=\"glyphicon glyphicon-question-sign\"></span>\r\n"); #line 78 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <td class=\"min-wid" + "th\">\r\n "); #line 81 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Html.StateLabel(job.Value.State)); #line default #line hidden WriteLiteral("\r\n </td>\r\n <td>\r\n " + " "); #line 84 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Html.JobNameLink(job.Key, job.Value.Job)); #line default #line hidden WriteLiteral("\r\n </td>\r\n <td class=\"align" + "-right\">\r\n"); #line 87 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" if (job.Value.EnqueuedAt.HasValue) { #line default #line hidden #line 89 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Html.RelativeTime(job.Value.EnqueuedAt.Value)); #line default #line hidden #line 89 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <em>n/a</em>\r\n"); #line 94 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n </tr>\r\n"); #line 97 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </tbody>\r\n </table>\r\n\r\n "); #line 101 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" Write(Html.Paginator(pager)); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 103 "..\..\Dashboard\Pages\EnqueuedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </div>\r\n</div>"); }
public override void Execute() { WriteLiteral("\r\n"); #line 9 "..\..\Dashboard\Pages\RetriesPage.cshtml" Layout = new LayoutPage(Strings.RetriesPage_Title); int from, perPage; int.TryParse(Query("from"), out from); int.TryParse(Query("count"), out perPage); Pager pager = null; List<string> jobIds = null; using (var connection = Storage.GetConnection()) { var storageConnection = connection as JobStorageConnection; if (storageConnection != null) { pager = new Pager(@from, perPage, storageConnection.GetSetCount("retries")); jobIds = storageConnection.GetRangeFromSet("retries", pager.FromRecord, pager.FromRecord + pager.RecordsPerPage - 1); } } #line default #line hidden WriteLiteral("\r\n"); #line 32 "..\..\Dashboard\Pages\RetriesPage.cshtml" if (pager == null) { #line default #line hidden WriteLiteral(" <div class=\"alert alert-warning\">\r\n "); #line 35 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Html.Raw(String.Format(Strings.RetriesPage_Warning_Html, Url.To("/jobs/scheduled")))); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 37 "..\..\Dashboard\Pages\RetriesPage.cshtml" } else { #line default #line hidden WriteLiteral(" <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <h1 class=\"pa" + "ge-header\">"); #line 42 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Strings.RetriesPage_Title); #line default #line hidden WriteLiteral("</h1>\r\n"); #line 43 "..\..\Dashboard\Pages\RetriesPage.cshtml" if (jobIds.Count == 0) { #line default #line hidden WriteLiteral(" <div class=\"alert alert-success\">\r\n "); #line 46 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Strings.RetriesPage_NoJobs); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 48 "..\..\Dashboard\Pages\RetriesPage.cshtml" } else { #line default #line hidden WriteLiteral(" <div class=\"js-jobs-list\">\r\n <div class=\"btn-t" + "oolbar btn-toolbar-top\">\r\n <button class=\"js-jobs-list-co" + "mmand btn btn-sm btn-primary\"\r\n data-url=\""); #line 54 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Url.To("/jobs/scheduled/enqueue")); #line default #line hidden WriteLiteral("\"\r\n data-loading-text=\""); #line 55 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Strings.Common_Enqueueing); #line default #line hidden WriteLiteral("\"\r\n disabled=\"disabled\">\r\n " + " <span class=\"glyphicon glyphicon-repeat\"></span>\r\n " + " "); #line 58 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Strings.Common_EnqueueButton_Text); #line default #line hidden WriteLiteral("\r\n </button>\r\n\r\n <button class=\"js-" + "jobs-list-command btn btn-sm btn-default\"\r\n data-" + "url=\""); #line 62 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Url.To("/jobs/scheduled/delete")); #line default #line hidden WriteLiteral("\"\r\n data-loading-text=\""); #line 63 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Strings.Common_Deleting); #line default #line hidden WriteLiteral("\"\r\n data-confirm=\""); #line 64 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Strings.Common_DeleteConfirm); #line default #line hidden WriteLiteral("\"\r\n disabled=\"disabled\">\r\n " + " <span class=\"glyphicon glyphicon-remove\"></span>\r\n " + " "); #line 67 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Strings.Common_DeleteSelected); #line default #line hidden WriteLiteral("\r\n </button>\r\n\r\n "); #line 70 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Html.PerPageSelector(pager)); #line default #line hidden WriteLiteral(@" </div> <div class=""table-responsive""> <table class=""table table-hover""> <thead> <tr> <th class=""min-width""> <input type=""checkbox"" class=""js-jobs-list-select-all"" /> </th> <th class=""min-width"">"); #line 80 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Strings.Common_Id); #line default #line hidden WriteLiteral("</th>\r\n <th class=\"min-width\">"); #line 81 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Strings.Common_State); #line default #line hidden WriteLiteral("</th>\r\n <th>"); #line 82 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Strings.Common_Job); #line default #line hidden WriteLiteral("</th>\r\n <th>"); #line 83 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Strings.Common_Reason); #line default #line hidden WriteLiteral("</th>\r\n <th class=\"align-right\">"); #line 84 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Strings.Common_Retry); #line default #line hidden WriteLiteral("</th>\r\n <th class=\"align-right\">"); #line 85 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Strings.Common_Created); #line default #line hidden WriteLiteral("</th>\r\n </tr>\r\n </thead" + ">\r\n <tbody>\r\n"); #line 89 "..\..\Dashboard\Pages\RetriesPage.cshtml" foreach (var jobId in jobIds) { JobData jobData; StateData stateData; using (var connection = Storage.GetConnection()) { jobData = connection.GetJobData(jobId); stateData = connection.GetStateData(jobId); } #line default #line hidden WriteLiteral(" <tr class=\"js-jobs-list-row "); #line 100 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(jobData != null ? "hover" : null); #line default #line hidden WriteLiteral("\">\r\n <td>\r\n " + " <input type=\"checkbox\" class=\"js-jobs-list-checkbox\" name=\"jobs[]\" " + "value=\""); #line 102 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(jobId); #line default #line hidden WriteLiteral("\" />\r\n </td>\r\n " + " <td class=\"min-width\">\r\n " + ""); #line 105 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Html.JobIdLink(jobId)); #line default #line hidden WriteLiteral("\r\n </td>\r\n"); #line 107 "..\..\Dashboard\Pages\RetriesPage.cshtml" if (jobData == null) { #line default #line hidden WriteLiteral(" <td colspan=\"5\"><em>Job expired.</em>" + "</td>\r\n"); #line 110 "..\..\Dashboard\Pages\RetriesPage.cshtml" } else { #line default #line hidden WriteLiteral(" <td class=\"min-width\">\r\n " + " "); #line 114 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Html.StateLabel(jobData.State)); #line default #line hidden WriteLiteral("\r\n </td>\r\n"); WriteLiteral(" <td class=\"word-break\">\r\n " + " "); #line 117 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Html.JobNameLink(jobId, jobData.Job)); #line default #line hidden WriteLiteral("\r\n </td>\r\n"); WriteLiteral(" <td>\r\n " + " "); #line 120 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(stateData?.Reason); #line default #line hidden WriteLiteral("\r\n </td>\r\n"); WriteLiteral(" <td class=\"align-right\">\r\n"); #line 123 "..\..\Dashboard\Pages\RetriesPage.cshtml" if (stateData != null && stateData.Data.ContainsKey("EnqueueAt")) { #line default #line hidden #line 125 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Html.RelativeTime(JobHelper.DeserializeDateTime(stateData.Data["EnqueueAt"]))); #line default #line hidden #line 125 "..\..\Dashboard\Pages\RetriesPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n"); WriteLiteral(" <td class=\"align-right\">\r\n " + " "); #line 129 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Html.RelativeTime(jobData.CreatedAt)); #line default #line hidden WriteLiteral("\r\n </td>\r\n"); #line 131 "..\..\Dashboard\Pages\RetriesPage.cshtml" } #line default #line hidden WriteLiteral(" </tr>\r\n"); #line 133 "..\..\Dashboard\Pages\RetriesPage.cshtml" } #line default #line hidden WriteLiteral(" </tbody>\r\n </table>\r\n " + " </div>\r\n\r\n "); #line 138 "..\..\Dashboard\Pages\RetriesPage.cshtml" Write(Html.Paginator(pager)); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 140 "..\..\Dashboard\Pages\RetriesPage.cshtml" } #line default #line hidden WriteLiteral(" </div>\r\n </div>\r\n"); #line 143 "..\..\Dashboard\Pages\RetriesPage.cshtml" } #line default #line hidden }
public override void Execute() { WriteLiteral("\r\n"); #line 6 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Layout = new LayoutPage("Failed Jobs"); int from, perPage; int.TryParse(Query("from"), out from); int.TryParse(Query("count"), out perPage); var monitor = Storage.GetMonitoringApi(); var pager = new Pager(from, perPage, monitor.FailedCount()); var failedJobs = monitor.FailedJobs(pager.FromRecord, pager.RecordsPerPage); #line default #line hidden WriteLiteral("\r\n<div class=\"row\">\r\n <div class=\"col-md-3\">\r\n "); #line 21 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.JobsSidebar()); #line default #line hidden WriteLiteral("\r\n </div>\r\n <div class=\"col-md-9\">\r\n <h1 class=\"page-header\">Failed " + "Jobs</h1>\r\n\r\n"); #line 26 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (pager.TotalPageCount == 0) { #line default #line hidden WriteLiteral(" <div class=\"alert alert-success\">\r\n You have no failed" + " jobs at the moment.\r\n </div>\r\n"); #line 31 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(@" <div class=""alert alert-warning""> <strong>Failed jobs do not become expired</strong> to allow you to re-queue them without any time pressure. You should re-queue or delete them manually, or apply <code>AutomaticRetry(OnAttemptsExceeded = AttemptsExceededAction.Delete)</code> attribute to delete them automatically. </div> "); #line 39 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" #line default #line hidden WriteLiteral(" <div class=\"js-jobs-list\">\r\n <div class=\"btn-toolbar b" + "tn-toolbar-top\">\r\n <button class=\"js-jobs-list-command btn bt" + "n-sm btn-primary\"\r\n data-url=\""); #line 43 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Url.To("/jobs/failed/requeue")); #line default #line hidden WriteLiteral(@""" data-loading-text=""Enqueueing..."" disabled=""disabled""> <span class=""glyphicon glyphicon-repeat""></span> Requeue jobs </button> <button class=""js-jobs-list-command btn btn-sm btn-default"" data-url="""); #line 51 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Url.To("/jobs/failed/delete")); #line default #line hidden WriteLiteral(@""" data-loading-text=""Deleting..."" data-confirm=""Do you really want to DELETE ALL selected jobs?""> <span class=""glyphicon glyphicon-remove""></span> Delete selected </button> "); #line 58 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.PerPageSelector(pager)); #line default #line hidden WriteLiteral(@" </div> <table class=""table""> <thead> <tr> <th class=""min-width""> <input type=""checkbox"" class=""js-jobs-list-select-all""/> </th> <th class=""min-width"">Id</th> <th>Failed</th> <th>Job</th> </tr> </thead> <tbody> "); #line 73 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" var index = 0; #line default #line hidden #line 74 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" foreach (var job in failedJobs) { #line default #line hidden WriteLiteral(" <tr class=\"js-jobs-list-row "); #line 76 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(!job.Value.InFailedState ? "obsolete-data" : null); #line default #line hidden WriteLiteral(" "); #line 76 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(job.Value.InFailedState ? "hover" : null); #line default #line hidden WriteLiteral("\">\r\n <td rowspan=\""); #line 77 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(job.Value.InFailedState ? "2" : "1"); #line default #line hidden WriteLiteral("\">\r\n"); #line 78 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (job.Value.InFailedState) { #line default #line hidden WriteLiteral(" <input type=\"checkbox\" class=\"js-jobs-list-ch" + "eckbox\" name=\"jobs[]\" value=\""); #line 80 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(job.Key); #line default #line hidden WriteLiteral("\"/>\r\n"); #line 81 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <td class=\"min-wid" + "th\" rowspan=\""); #line 83 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(job.Value.InFailedState ? "2" : "1"); #line default #line hidden WriteLiteral("\">\r\n "); #line 84 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.JobIdLink(job.Key)); #line default #line hidden WriteLiteral("\r\n"); #line 85 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (!job.Value.InFailedState) { #line default #line hidden WriteLiteral(" <span title=\"Job\'s state has been changed whi" + "le fetching data.\" class=\"glyphicon glyphicon-question-sign\"></span>\r\n"); #line 88 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <td class=\"min-wid" + "th\">\r\n"); #line 91 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (job.Value.FailedAt.HasValue) { #line default #line hidden #line 93 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.RelativeTime(job.Value.FailedAt.Value)); #line default #line hidden #line 93 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <td>\r\n " + " <div>\r\n "); #line 98 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.JobNameLink(job.Key, job.Value.Job)); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 100 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (!String.IsNullOrEmpty(job.Value.ExceptionMessage)) { #line default #line hidden WriteLiteral(" <div style=\"color: #888;\">\r\n " + " "); #line 103 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(job.Value.Reason); #line default #line hidden WriteLiteral(" <a class=\"expander\" href=\"#\">"); #line 103 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(index == 0 ? "Less details..." : "More details..."); #line default #line hidden WriteLiteral("</a>\r\n </div>\r\n"); #line 105 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n </tr>\r\n"); #line 108 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (job.Value.InFailedState) { #line default #line hidden WriteLiteral(" <tr>\r\n <td colspan=\"2\"" + " class=\"failed-job-details\">\r\n <div class=\"ex" + "pandable\" style=\""); #line 112 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(index++ == 0 ? "display: block;" : null); #line default #line hidden WriteLiteral("\">\r\n <h4>"); #line 113 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(job.Value.ExceptionType); #line default #line hidden WriteLiteral("</h4>\r\n <p>\r\n " + " "); #line 115 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(job.Value.ExceptionMessage); #line default #line hidden WriteLiteral("\r\n </p>\r\n\r\n"); #line 118 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (!String.IsNullOrEmpty(job.Value.ExceptionDetails)) { #line default #line hidden WriteLiteral(" <pre class=\"stack-trace\"><code>"); #line 120 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.StackTrace(job.Value.ExceptionDetails)); #line default #line hidden WriteLiteral("</code></pre>\r\n"); #line 121 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </div>\r\n </td>" + "\r\n </tr>\r\n"); #line 125 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } } #line default #line hidden WriteLiteral(" </tbody>\r\n </table>\r\n\r\n "); #line 130 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.Paginator(pager)); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 132 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </div>\r\n</div>"); }
public override void Execute() { WriteLiteral("\r\n"); #line 6 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Layout = new LayoutPage(Strings.ScheduledJobsPage_Title); int from, perPage; int.TryParse(Query("from"), out from); int.TryParse(Query("count"), out perPage); var monitor = Storage.GetMonitoringApi(); var pager = new Pager(from, perPage, monitor.ScheduledCount()); var scheduledJobs = monitor.ScheduledJobs(pager.FromRecord, pager.RecordsPerPage); #line default #line hidden WriteLiteral("\r\n<div class=\"row\">\r\n <div class=\"col-md-3\">\r\n "); #line 21 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Html.JobsSidebar()); #line default #line hidden WriteLiteral("\r\n </div>\r\n <div class=\"col-md-9\">\r\n <h1 class=\"page-header\">"); #line 24 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.ScheduledJobsPage_Title); #line default #line hidden WriteLiteral("</h1>\r\n\r\n"); #line 26 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" if (pager.TotalPageCount == 0) { #line default #line hidden WriteLiteral(" <div class=\"alert alert-info\">\r\n "); #line 29 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.ScheduledJobsPage_NoJobs); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 31 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } else { #line default #line hidden WriteLiteral(" <div class=\"js-jobs-list\">\r\n <div class=\"btn-toolbar b" + "tn-toolbar-top\">\r\n <button class=\"js-jobs-list-command btn bt" + "n-sm btn-primary\"\r\n data-url=\""); #line 37 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Url.To("/jobs/scheduled/enqueue")); #line default #line hidden WriteLiteral("\"\r\n data-loading-text=\""); #line 38 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.Common_Enqueueing); #line default #line hidden WriteLiteral("\"\r\n disabled=\"disabled\">\r\n <spa" + "n class=\"glyphicon glyphicon-play\"></span>\r\n "); #line 41 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.ScheduledJobsPage_EnqueueNow); #line default #line hidden WriteLiteral("\r\n </button>\r\n\r\n <button class=\"js-jobs-lis" + "t-command btn btn-sm btn-default\"\r\n data-url=\""); #line 45 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Url.To("/jobs/scheduled/delete")); #line default #line hidden WriteLiteral("\"\r\n data-loading-text=\""); #line 46 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.Common_Deleting); #line default #line hidden WriteLiteral("\"\r\n data-confirm=\""); #line 47 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.Common_DeleteConfirm); #line default #line hidden WriteLiteral("\"\r\n disabled=\"disabled\">\r\n <spa" + "n class=\"glyphicon glyphicon-remove\"></span>\r\n "); #line 50 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.Common_DeleteSelected); #line default #line hidden WriteLiteral("\r\n </button>\r\n\r\n "); #line 53 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Html.PerPageSelector(pager)); #line default #line hidden WriteLiteral(@" </div> <div class=""table-responsive""> <table class=""table""> <thead> <tr> <th class=""min-width""> <input type=""checkbox"" class=""js-jobs-list-select-all"" /> </th> <th class=""min-width"">"); #line 63 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.Common_Id); #line default #line hidden WriteLiteral("</th>\r\n <th>"); #line 64 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.ScheduledJobsPage_Table_Enqueue); #line default #line hidden WriteLiteral("</th>\r\n <th>"); #line 65 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.Common_Job); #line default #line hidden WriteLiteral("</th>\r\n <th class=\"align-right\">ScheduledJobsPage_" + "Table_Scheduled</th>\r\n </tr>\r\n " + " </thead>\r\n"); #line 69 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" foreach (var job in scheduledJobs) { #line default #line hidden WriteLiteral(" <tr class=\"js-jobs-list-row "); #line 71 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(!job.Value.InScheduledState ? "obsolete-data" : null); #line default #line hidden WriteLiteral(" "); #line 71 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(job.Value.InScheduledState ? "hover" : null); #line default #line hidden WriteLiteral("\">\r\n <td>\r\n"); #line 73 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" if (job.Value.InScheduledState) { #line default #line hidden WriteLiteral(" <input type=\"checkbox\" class=\"js-jobs-lis" + "t-checkbox\" name=\"jobs[]\" value=\""); #line 75 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(job.Key); #line default #line hidden WriteLiteral("\" />\r\n"); #line 76 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <td class=" + "\"min-width\">\r\n "); #line 79 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Html.JobIdLink(job.Key)); #line default #line hidden WriteLiteral("\r\n"); #line 80 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" if (!job.Value.InScheduledState) { #line default #line hidden WriteLiteral(" <span title=\""); #line 82 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.Common_JobStateChanged_Text); #line default #line hidden WriteLiteral("\" class=\"glyphicon glyphicon-question-sign\"></span>\r\n"); #line 83 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n <td class=" + "\"min-width\">\r\n "); #line 86 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Html.RelativeTime(job.Value.EnqueueAt)); #line default #line hidden WriteLiteral("\r\n </td>\r\n <td clas" + "s=\"word-break\">\r\n "); #line 89 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Html.JobNameLink(job.Key, job.Value.Job)); #line default #line hidden WriteLiteral("\r\n </td>\r\n <td clas" + "s=\"align-right\">\r\n"); #line 92 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" if (job.Value.ScheduledAt.HasValue) { #line default #line hidden #line 94 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Html.RelativeTime(job.Value.ScheduledAt.Value)); #line default #line hidden #line 94 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </td>\r\n </tr>\r\n"); #line 98 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </table>\r\n </div>\r\n\r\n "); #line 102 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Html.Paginator(pager)); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 104 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } #line default #line hidden WriteLiteral(" </div>\r\n</div>"); }