From f6a741012d73c0afb6cfac4f250ab86d990413c7 Mon Sep 17 00:00:00 2001 From: fairking <13495631+fairking@users.noreply.github.com> Date: Thu, 6 Jun 2024 18:53:18 +0200 Subject: [PATCH 1/2] Hangfire Search --- .../Dashboard/Content/js/hangfire.js | 8 + .../Content/resx/Strings.Designer.cs | 9 ++ .../Dashboard/Content/resx/Strings.resx | 5 +- src/Hangfire.Core/Dashboard/HtmlHelper.cs | 5 + .../Dashboard/Pages/DeletedJobsPage.cshtml | 4 +- .../Dashboard/Pages/DeletedJobsPage.cshtml.cs | 113 +++++++------- .../Dashboard/Pages/FailedJobsPage.cshtml | 4 +- .../Dashboard/Pages/FailedJobsPage.cshtml.cs | 139 ++++++++++-------- .../Dashboard/Pages/ProcessingJobsPage.cshtml | 4 +- .../Pages/ProcessingJobsPage.cshtml.cs | 117 ++++++++------- .../Dashboard/Pages/ScheduledJobsPage.cshtml | 4 +- .../Pages/ScheduledJobsPage.cshtml.cs | 107 ++++++++------ .../Dashboard/Pages/SucceededJobs.cshtml | 4 +- .../Dashboard/Pages/SucceededJobs.cshtml.cs | 131 +++++++++-------- src/Hangfire.Core/Dashboard/Pages/_Search.cs | 12 ++ .../Dashboard/Pages/_Search.cshtml | 9 ++ .../Dashboard/Pages/_Search.cshtml.cs | 77 ++++++++++ src/Hangfire.Core/Hangfire.Core.csproj | 6 + src/Hangfire.Core/Storage/IMonitoringApi.cs | 10 +- .../Storage/JobStorageMonitor.cs | 10 +- .../SqlServerMonitoringApi.cs | 25 +++- 21 files changed, 503 insertions(+), 300 deletions(-) create mode 100644 src/Hangfire.Core/Dashboard/Pages/_Search.cs create mode 100644 src/Hangfire.Core/Dashboard/Pages/_Search.cshtml create mode 100644 src/Hangfire.Core/Dashboard/Pages/_Search.cshtml.cs diff --git a/src/Hangfire.Core/Dashboard/Content/js/hangfire.js b/src/Hangfire.Core/Dashboard/Content/js/hangfire.js index fccf04c2e..e07bb016c 100644 --- a/src/Hangfire.Core/Dashboard/Content/js/hangfire.js +++ b/src/Hangfire.Core/Dashboard/Content/js/hangfire.js @@ -607,6 +607,14 @@ e.preventDefault(); }); + $(this).on('keydown', '.search', function(e) { + if (e.key === 'Enter') { + const urlParams = new URLSearchParams(window.location.search); + urlParams.set('search', $(this).val()); + window.location.search = urlParams.toString(); + } + }); + updateListState(); }); }; diff --git a/src/Hangfire.Core/Dashboard/Content/resx/Strings.Designer.cs b/src/Hangfire.Core/Dashboard/Content/resx/Strings.Designer.cs index 881a05478..0d0f818ed 100644 --- a/src/Hangfire.Core/Dashboard/Content/resx/Strings.Designer.cs +++ b/src/Hangfire.Core/Dashboard/Content/resx/Strings.Designer.cs @@ -1249,6 +1249,15 @@ public static string ScheduledJobsPage_Title { } } + /// + /// Looks up a localized string similar to Search. + /// + public static string Search_Search { + get { + return ResourceManager.GetString("Search_Search", resourceCulture); + } + } + /// /// Looks up a localized string similar to Active. /// diff --git a/src/Hangfire.Core/Dashboard/Content/resx/Strings.resx b/src/Hangfire.Core/Dashboard/Content/resx/Strings.resx index fff592276..9fa34f0f0 100644 --- a/src/Hangfire.Core/Dashboard/Content/resx/Strings.resx +++ b/src/Hangfire.Core/Dashboard/Content/resx/Strings.resx @@ -295,7 +295,7 @@ Storage Time: - + Application time is out of sync with storage time @@ -578,4 +578,7 @@ Log File(s) Used (MB) + + Search + \ No newline at end of file diff --git a/src/Hangfire.Core/Dashboard/HtmlHelper.cs b/src/Hangfire.Core/Dashboard/HtmlHelper.cs index 1a4b0a33d..145347f28 100644 --- a/src/Hangfire.Core/Dashboard/HtmlHelper.cs +++ b/src/Hangfire.Core/Dashboard/HtmlHelper.cs @@ -110,6 +110,11 @@ public NonEscapedString PerPageSelector([NotNull] Pager pager) return RenderPartial(new PerPageSelector(pager)); } + public NonEscapedString Search(string search) + { + return RenderPartial(new Search(search)); + } + public NonEscapedString RenderPartial(RazorPage partialPage) { partialPage.Assign(_page); diff --git a/src/Hangfire.Core/Dashboard/Pages/DeletedJobsPage.cshtml b/src/Hangfire.Core/Dashboard/Pages/DeletedJobsPage.cshtml index f18367ead..dc8da9f18 100644 --- a/src/Hangfire.Core/Dashboard/Pages/DeletedJobsPage.cshtml +++ b/src/Hangfire.Core/Dashboard/Pages/DeletedJobsPage.cshtml @@ -14,7 +14,8 @@ var monitor = Storage.GetMonitoringApi(); var pager = new Pager(from, perPage, DashboardOptions.DefaultRecordsPerPage, monitor.DeletedListCount()); - var jobs = monitor.DeletedJobs(pager.FromRecord, pager.RecordsPerPage); + var search = Query("search"); + var jobs = monitor.DeletedJobs(pager.FromRecord, pager.RecordsPerPage, search); }
@@ -45,6 +46,7 @@ } @Html.PerPageSelector(pager) + @Html.Search(search)
diff --git a/src/Hangfire.Core/Dashboard/Pages/DeletedJobsPage.cshtml.cs b/src/Hangfire.Core/Dashboard/Pages/DeletedJobsPage.cshtml.cs index 32672078d..cf3d3ab34 100644 --- a/src/Hangfire.Core/Dashboard/Pages/DeletedJobsPage.cshtml.cs +++ b/src/Hangfire.Core/Dashboard/Pages/DeletedJobsPage.cshtml.cs @@ -69,7 +69,8 @@ public override void Execute() var monitor = Storage.GetMonitoringApi(); var pager = new Pager(from, perPage, DashboardOptions.DefaultRecordsPerPage, monitor.DeletedListCount()); - var jobs = monitor.DeletedJobs(pager.FromRecord, pager.RecordsPerPage); + var search = Query("search"); + var jobs = monitor.DeletedJobs(pager.FromRecord, pager.RecordsPerPage, search); @@ -79,7 +80,7 @@ public override void Execute() - #line 22 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 23 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Html.JobsSidebar()); @@ -90,7 +91,7 @@ public override void Execute() - #line 25 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 26 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Strings.DeletedJobsPage_Title); @@ -100,7 +101,7 @@ public override void Execute() - #line 27 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 28 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" if (pager.TotalPageCount == 0) { @@ -111,7 +112,7 @@ public override void Execute() - #line 30 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 31 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Strings.DeletedJobsPage_NoJobs); @@ -121,7 +122,7 @@ public override void Execute() - #line 32 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 33 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" } else { @@ -134,7 +135,7 @@ public override void Execute() - #line 37 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 38 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" if (!IsReadOnly) { @@ -146,7 +147,7 @@ public override void Execute() - #line 40 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 41 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Url.To("/jobs/deleted/requeue")); @@ -156,7 +157,7 @@ public override void Execute() - #line 41 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 42 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Strings.Common_Enqueueing); @@ -168,7 +169,7 @@ public override void Execute() - #line 44 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 45 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Strings.Common_RequeueJobs); @@ -178,7 +179,7 @@ public override void Execute() - #line 46 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 47 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" } @@ -188,10 +189,20 @@ public override void Execute() - #line 47 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 48 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Html.PerPageSelector(pager)); + #line default + #line hidden +WriteLiteral("\r\n "); + + + + #line 49 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + Write(Html.Search(search)); + + #line default #line hidden WriteLiteral("\r\n \r\n
\r\n " + @@ -200,7 +211,7 @@ public override void Execute() - #line 53 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 55 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" if (!IsReadOnly) { @@ -213,7 +224,7 @@ public override void Execute() - #line 58 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 60 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" } @@ -223,7 +234,7 @@ public override void Execute() - #line 59 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 61 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Strings.Common_Id); @@ -233,7 +244,7 @@ public override void Execute() - #line 60 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 62 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Strings.Common_Job); @@ -243,7 +254,7 @@ public override void Execute() - #line 61 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 63 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" if (jobs.Any(x => x.Value?.StateData != null)) { @@ -254,7 +265,7 @@ public override void Execute() - #line 63 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 65 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Strings.DeletedJobsPage_Table_Exception); @@ -264,7 +275,7 @@ public override void Execute() - #line 64 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 66 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" } @@ -274,7 +285,7 @@ public override void Execute() - #line 65 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 67 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Strings.DeletedJobsPage_Table_Deleted); @@ -285,7 +296,7 @@ public override void Execute() - #line 69 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 71 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" foreach (var job in jobs) { @@ -296,7 +307,7 @@ public override void Execute() - #line 71 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 73 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(job.Value == null || !job.Value.InDeletedState ? "obsolete-data" : null); @@ -306,7 +317,7 @@ public override void Execute() - #line 71 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 73 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(job.Value != null && job.Value.InDeletedState && job.Value != null ? "hover" : null); @@ -316,7 +327,7 @@ public override void Execute() - #line 72 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 74 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" if (!IsReadOnly) { @@ -327,7 +338,7 @@ public override void Execute() - #line 75 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 77 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" if (job.Value != null && job.Value.InDeletedState) { @@ -339,7 +350,7 @@ public override void Execute() - #line 77 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 79 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(job.Key); @@ -349,7 +360,7 @@ public override void Execute() - #line 78 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 80 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" } @@ -359,7 +370,7 @@ public override void Execute() - #line 80 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 82 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" } @@ -370,7 +381,7 @@ public override void Execute() - #line 82 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 84 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Html.JobIdLink(job.Key)); @@ -380,7 +391,7 @@ public override void Execute() - #line 83 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 85 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" if (job.Value != null && !job.Value.InDeletedState) { @@ -391,7 +402,7 @@ public override void Execute() - #line 85 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 87 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Strings.Common_JobStateChanged_Text); @@ -401,7 +412,7 @@ public override void Execute() - #line 86 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 88 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" } @@ -411,7 +422,7 @@ public override void Execute() - #line 89 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 91 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" if (job.Value == null) { if (jobs.Any(x => x.Value?.StateData != null)) @@ -424,7 +435,7 @@ public override void Execute() - #line 93 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 95 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Strings.Common_JobExpired); @@ -434,7 +445,7 @@ public override void Execute() - #line 94 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 96 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" } else { @@ -446,7 +457,7 @@ public override void Execute() - #line 97 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 99 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Strings.Common_JobExpired); @@ -456,7 +467,7 @@ public override void Execute() - #line 98 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 100 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" } } else @@ -470,7 +481,7 @@ public override void Execute() - #line 103 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 105 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Html.JobNameLink(job.Key, job.Value.Job)); @@ -480,7 +491,7 @@ public override void Execute() - #line 105 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 107 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" if (job.Value.StateData != null) { ExceptionInfo exception = null; @@ -502,7 +513,7 @@ public override void Execute() - #line 119 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 121 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" if (!String.IsNullOrEmpty(typeName)) { @@ -513,7 +524,7 @@ public override void Execute() - #line 121 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 123 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(exception.Message); @@ -523,7 +534,7 @@ public override void Execute() - #line 121 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 123 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(typeName); @@ -533,7 +544,7 @@ public override void Execute() - #line 122 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 124 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" } @@ -543,7 +554,7 @@ public override void Execute() - #line 124 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 126 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" } @@ -553,7 +564,7 @@ public override void Execute() - #line 126 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 128 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" if (job.Value.DeletedAt.HasValue) { @@ -561,14 +572,14 @@ public override void Execute() #line default #line hidden - #line 128 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 130 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Html.RelativeTime(job.Value.DeletedAt.Value)); #line default #line hidden - #line 128 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 130 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" } @@ -579,7 +590,7 @@ public override void Execute() - #line 131 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 133 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" } @@ -589,7 +600,7 @@ public override void Execute() - #line 133 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 135 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" } @@ -600,7 +611,7 @@ public override void Execute() - #line 138 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 140 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" Write(Html.Paginator(pager)); @@ -610,7 +621,7 @@ public override void Execute() - #line 140 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" + #line 142 "..\..\Dashboard\Pages\DeletedJobsPage.cshtml" } diff --git a/src/Hangfire.Core/Dashboard/Pages/FailedJobsPage.cshtml b/src/Hangfire.Core/Dashboard/Pages/FailedJobsPage.cshtml index 7457d665a..a823c0623 100644 --- a/src/Hangfire.Core/Dashboard/Pages/FailedJobsPage.cshtml +++ b/src/Hangfire.Core/Dashboard/Pages/FailedJobsPage.cshtml @@ -15,7 +15,8 @@ var monitor = Storage.GetMonitoringApi(); var pager = new Pager(from, perPage, DashboardOptions.DefaultRecordsPerPage, monitor.FailedCount()); - var failedJobs = monitor.FailedJobs(pager.FromRecord, pager.RecordsPerPage); + var search = Query("search"); + var failedJobs = monitor.FailedJobs(pager.FromRecord, pager.RecordsPerPage, search); }
@@ -60,6 +61,7 @@ } @Html.PerPageSelector(pager) + @Html.Search(search)
diff --git a/src/Hangfire.Core/Dashboard/Pages/FailedJobsPage.cshtml.cs b/src/Hangfire.Core/Dashboard/Pages/FailedJobsPage.cshtml.cs index cf0773bca..940389442 100644 --- a/src/Hangfire.Core/Dashboard/Pages/FailedJobsPage.cshtml.cs +++ b/src/Hangfire.Core/Dashboard/Pages/FailedJobsPage.cshtml.cs @@ -75,7 +75,8 @@ public override void Execute() var monitor = Storage.GetMonitoringApi(); var pager = new Pager(from, perPage, DashboardOptions.DefaultRecordsPerPage, monitor.FailedCount()); - var failedJobs = monitor.FailedJobs(pager.FromRecord, pager.RecordsPerPage); + var search = Query("search"); + var failedJobs = monitor.FailedJobs(pager.FromRecord, pager.RecordsPerPage, search); @@ -85,7 +86,7 @@ public override void Execute() - #line 23 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 24 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.JobsSidebar()); @@ -96,7 +97,7 @@ public override void Execute() - #line 26 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 27 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Strings.FailedJobsPage_Title); @@ -106,7 +107,7 @@ public override void Execute() - #line 28 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 29 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (pager.TotalPageCount == 0) { @@ -117,7 +118,7 @@ public override void Execute() - #line 31 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 32 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Strings.FailedJobsPage_NoJobs); @@ -127,7 +128,7 @@ public override void Execute() - #line 33 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 34 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } else { @@ -139,7 +140,7 @@ public override void Execute() - #line 37 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 38 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.Raw(Strings.FailedJobsPage_FailedJobsNotExpire_Warning_Html)); @@ -149,7 +150,7 @@ public override void Execute() - #line 39 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 40 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" @@ -160,7 +161,7 @@ public override void Execute() - #line 42 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 43 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (!IsReadOnly) { @@ -172,7 +173,7 @@ public override void Execute() - #line 45 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 46 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Url.To("/jobs/failed/requeue")); @@ -182,7 +183,7 @@ public override void Execute() - #line 46 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 47 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Strings.Common_Enqueueing); @@ -194,7 +195,7 @@ public override void Execute() - #line 49 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 50 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Strings.Common_RequeueJobs); @@ -204,7 +205,7 @@ public override void Execute() - #line 51 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 52 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } @@ -212,7 +213,7 @@ public override void Execute() #line hidden - #line 52 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 53 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (!IsReadOnly) { @@ -224,7 +225,7 @@ public override void Execute() - #line 55 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 56 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Url.To("/jobs/failed/delete")); @@ -234,7 +235,7 @@ public override void Execute() - #line 56 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 57 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Strings.Common_Deleting); @@ -244,7 +245,7 @@ public override void Execute() - #line 57 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 58 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Strings.Common_DeleteConfirm); @@ -255,7 +256,7 @@ public override void Execute() - #line 59 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 60 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Strings.Common_DeleteSelected); @@ -265,7 +266,7 @@ public override void Execute() - #line 61 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 62 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } @@ -275,10 +276,20 @@ public override void Execute() - #line 62 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 63 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.PerPageSelector(pager)); + #line default + #line hidden +WriteLiteral("\r\n "); + + + + #line 64 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + Write(Html.Search(search)); + + #line default #line hidden WriteLiteral("\r\n
\r\n\r\n
\r\n " + @@ -287,7 +298,7 @@ public override void Execute() - #line 69 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 71 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (!IsReadOnly) { @@ -300,7 +311,7 @@ public override void Execute() - #line 74 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 76 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } @@ -310,7 +321,7 @@ public override void Execute() - #line 75 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 77 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Strings.Common_Id); @@ -320,7 +331,7 @@ public override void Execute() - #line 76 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 78 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Strings.Common_Job); @@ -330,7 +341,7 @@ public override void Execute() - #line 77 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 79 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Strings.FailedJobsPage_Table_Failed); @@ -341,7 +352,7 @@ public override void Execute() - #line 81 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 83 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" var index = 0; @@ -349,7 +360,7 @@ public override void Execute() #line hidden - #line 82 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 84 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" foreach (var job in failedJobs) { @@ -360,7 +371,7 @@ public override void Execute() - #line 84 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 86 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(job.Value == null || !job.Value.InFailedState ? "obsolete-data" : null); @@ -370,7 +381,7 @@ public override void Execute() - #line 84 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 86 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(job.Value != null && job.Value.InFailedState ? "hover" : null); @@ -380,7 +391,7 @@ public override void Execute() - #line 85 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 87 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (!IsReadOnly) { @@ -391,7 +402,7 @@ public override void Execute() - #line 87 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 89 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(job.Value != null && job.Value.InFailedState ? "2" : "1"); @@ -401,7 +412,7 @@ public override void Execute() - #line 88 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 90 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (job.Value != null && job.Value.InFailedState) { @@ -413,7 +424,7 @@ public override void Execute() - #line 90 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 92 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(job.Key); @@ -423,7 +434,7 @@ public override void Execute() - #line 91 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 93 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } @@ -433,7 +444,7 @@ public override void Execute() - #line 93 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 95 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } @@ -443,7 +454,7 @@ public override void Execute() - #line 94 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 96 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(job.Value != null && job.Value.InFailedState ? "2" : "1"); @@ -453,7 +464,7 @@ public override void Execute() - #line 95 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 97 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.JobIdLink(job.Key)); @@ -463,7 +474,7 @@ public override void Execute() - #line 96 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 98 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (job.Value != null && !job.Value.InFailedState) { @@ -474,7 +485,7 @@ public override void Execute() - #line 98 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 100 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Strings.Common_JobStateChanged_Text); @@ -484,7 +495,7 @@ public override void Execute() - #line 99 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 101 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } @@ -494,7 +505,7 @@ public override void Execute() - #line 101 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 103 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (job.Value == null) { @@ -506,7 +517,7 @@ public override void Execute() - #line 104 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 106 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Strings.Common_JobExpired); @@ -516,7 +527,7 @@ public override void Execute() - #line 106 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 108 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } else { @@ -530,7 +541,7 @@ public override void Execute() - #line 111 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 113 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.JobNameLink(job.Key, job.Value.Job)); @@ -540,7 +551,7 @@ public override void Execute() - #line 113 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 115 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (!String.IsNullOrEmpty(job.Value.ExceptionMessage)) { @@ -552,7 +563,7 @@ public override void Execute() - #line 116 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 118 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(job.Value.Reason); @@ -562,7 +573,7 @@ public override void Execute() - #line 116 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 118 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(index == 0 ? Strings.Common_LessDetails : Strings.Common_MoreDetails); @@ -572,7 +583,7 @@ public override void Execute() - #line 118 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 120 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } @@ -586,7 +597,7 @@ public override void Execute() - #line 121 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 123 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (job.Value.FailedAt.HasValue) { @@ -594,14 +605,14 @@ public override void Execute() #line default #line hidden - #line 123 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 125 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.RelativeTime(job.Value.FailedAt.Value)); #line default #line hidden - #line 123 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 125 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } @@ -612,7 +623,7 @@ public override void Execute() - #line 126 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 128 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } @@ -622,7 +633,7 @@ public override void Execute() - #line 128 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 130 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (job.Value != null && job.Value.InFailedState) { @@ -634,7 +645,7 @@ public override void Execute() - #line 132 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 134 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" var displayCss = index++ == 0 ? "display-block" : null; var serverId = job.Value.StateData != null && job.Value.StateData.ContainsKey("ServerId") ? $" ({Html.ServerId(job.Value.StateData["ServerId"])})" : null; @@ -647,7 +658,7 @@ public override void Execute() - #line 136 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 138 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(displayCss); @@ -657,7 +668,7 @@ public override void Execute() - #line 137 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 139 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(job.Value.ExceptionType); @@ -665,7 +676,7 @@ public override void Execute() #line hidden - #line 137 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 139 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.Raw(serverId)); @@ -676,7 +687,7 @@ public override void Execute() - #line 139 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 141 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(job.Value.ExceptionMessage); @@ -686,7 +697,7 @@ public override void Execute() - #line 142 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 144 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" if (!String.IsNullOrEmpty(job.Value.ExceptionDetails)) { @@ -698,7 +709,7 @@ public override void Execute() - #line 144 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 146 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.StackTrace(job.Value.ExceptionDetails)); @@ -708,7 +719,7 @@ public override void Execute() - #line 145 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 147 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } @@ -719,7 +730,7 @@ public override void Execute() - #line 149 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 151 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } } @@ -731,7 +742,7 @@ public override void Execute() - #line 155 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 157 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" Write(Html.Paginator(pager)); @@ -741,7 +752,7 @@ public override void Execute() - #line 157 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" + #line 159 "..\..\Dashboard\Pages\FailedJobsPage.cshtml" } diff --git a/src/Hangfire.Core/Dashboard/Pages/ProcessingJobsPage.cshtml b/src/Hangfire.Core/Dashboard/Pages/ProcessingJobsPage.cshtml index c0558fa04..724804887 100644 --- a/src/Hangfire.Core/Dashboard/Pages/ProcessingJobsPage.cshtml +++ b/src/Hangfire.Core/Dashboard/Pages/ProcessingJobsPage.cshtml @@ -16,7 +16,8 @@ var monitor = Storage.GetMonitoringApi(); var pager = new Pager(from, perPage, DashboardOptions.DefaultRecordsPerPage, monitor.ProcessingCount()); - var processingJobs = monitor.ProcessingJobs(pager.FromRecord, pager.RecordsPerPage); + var search = Query("search"); + var processingJobs = monitor.ProcessingJobs(pager.FromRecord, pager.RecordsPerPage, search); var servers = monitor.Servers(); } @@ -59,6 +60,7 @@ } @Html.PerPageSelector(pager) + @Html.Search(search)
diff --git a/src/Hangfire.Core/Dashboard/Pages/ProcessingJobsPage.cshtml.cs b/src/Hangfire.Core/Dashboard/Pages/ProcessingJobsPage.cshtml.cs index ecd6083b2..6da0bb55e 100644 --- a/src/Hangfire.Core/Dashboard/Pages/ProcessingJobsPage.cshtml.cs +++ b/src/Hangfire.Core/Dashboard/Pages/ProcessingJobsPage.cshtml.cs @@ -81,7 +81,8 @@ public override void Execute() var monitor = Storage.GetMonitoringApi(); var pager = new Pager(from, perPage, DashboardOptions.DefaultRecordsPerPage, monitor.ProcessingCount()); - var processingJobs = monitor.ProcessingJobs(pager.FromRecord, pager.RecordsPerPage); + var search = Query("search"); + var processingJobs = monitor.ProcessingJobs(pager.FromRecord, pager.RecordsPerPage, search); var servers = monitor.Servers(); @@ -92,7 +93,7 @@ public override void Execute() - #line 25 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 26 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Html.JobsSidebar()); @@ -103,7 +104,7 @@ public override void Execute() - #line 28 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 29 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.ProcessingJobsPage_Title); @@ -113,7 +114,7 @@ public override void Execute() - #line 30 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 31 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" if (pager.TotalPageCount == 0) { @@ -124,7 +125,7 @@ public override void Execute() - #line 33 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 34 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.ProcessingJobsPage_NoJobs); @@ -134,7 +135,7 @@ public override void Execute() - #line 35 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 36 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } else { @@ -147,7 +148,7 @@ public override void Execute() - #line 40 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 41 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" if (!IsReadOnly) { @@ -159,7 +160,7 @@ public override void Execute() - #line 43 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 44 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Url.To("/jobs/processing/requeue")); @@ -169,7 +170,7 @@ public override void Execute() - #line 44 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 45 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.Common_Enqueueing); @@ -181,7 +182,7 @@ public override void Execute() - #line 47 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 48 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.Common_RequeueJobs); @@ -191,7 +192,7 @@ public override void Execute() - #line 49 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 50 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } @@ -199,7 +200,7 @@ public override void Execute() #line hidden - #line 50 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 51 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" if (!IsReadOnly) { @@ -211,7 +212,7 @@ public override void Execute() - #line 53 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 54 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Url.To("/jobs/processing/delete")); @@ -221,7 +222,7 @@ public override void Execute() - #line 54 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 55 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.Common_Deleting); @@ -231,7 +232,7 @@ public override void Execute() - #line 55 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 56 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.Common_DeleteConfirm); @@ -243,7 +244,7 @@ public override void Execute() - #line 58 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 59 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.Common_DeleteSelected); @@ -253,7 +254,7 @@ public override void Execute() - #line 60 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 61 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } @@ -263,10 +264,20 @@ public override void Execute() - #line 61 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 62 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Html.PerPageSelector(pager)); + #line default + #line hidden +WriteLiteral("\r\n "); + + + + #line 63 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + Write(Html.Search(search)); + + #line default #line hidden WriteLiteral("\r\n
\r\n\r\n
\r\n " + @@ -275,7 +286,7 @@ public override void Execute() - #line 68 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 70 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" if (!IsReadOnly) { @@ -288,7 +299,7 @@ public override void Execute() - #line 73 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 75 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } @@ -298,7 +309,7 @@ public override void Execute() - #line 74 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 76 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.Common_Id); @@ -308,7 +319,7 @@ public override void Execute() - #line 75 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 77 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.Common_Server); @@ -318,7 +329,7 @@ public override void Execute() - #line 76 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 78 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.Common_Job); @@ -328,7 +339,7 @@ public override void Execute() - #line 77 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 79 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.ProcessingJobsPage_Table_Started); @@ -339,7 +350,7 @@ public override void Execute() - #line 81 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 83 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" foreach (var job in processingJobs) { @@ -350,7 +361,7 @@ public override void Execute() - #line 83 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 85 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(job.Value == null || !job.Value.InProcessingState ? "obsolete-data" : null); @@ -360,7 +371,7 @@ public override void Execute() - #line 83 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 85 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(job.Value != null && job.Value.InProcessingState ? "hover" : null); @@ -370,7 +381,7 @@ public override void Execute() - #line 84 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 86 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" if (!IsReadOnly) { @@ -381,7 +392,7 @@ public override void Execute() - #line 87 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 89 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" if (job.Value != null && job.Value.InProcessingState) { @@ -393,7 +404,7 @@ public override void Execute() - #line 89 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 91 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(job.Key); @@ -403,7 +414,7 @@ public override void Execute() - #line 90 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 92 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } @@ -413,7 +424,7 @@ public override void Execute() - #line 92 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 94 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } @@ -424,7 +435,7 @@ public override void Execute() - #line 94 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 96 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Html.JobIdLink(job.Key)); @@ -434,7 +445,7 @@ public override void Execute() - #line 95 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 97 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" if (job.Value != null && !job.Value.InProcessingState) { @@ -445,7 +456,7 @@ public override void Execute() - #line 97 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 99 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.Common_JobStateChanged_Text); @@ -455,7 +466,7 @@ public override void Execute() - #line 98 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 100 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } @@ -465,7 +476,7 @@ public override void Execute() - #line 100 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 102 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" if (job.Value == null) { @@ -476,7 +487,7 @@ public override void Execute() - #line 102 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 104 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.Common_JobExpired); @@ -486,7 +497,7 @@ public override void Execute() - #line 103 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 105 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } else if (!job.Value.InProcessingState) { @@ -498,7 +509,7 @@ public override void Execute() - #line 106 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 108 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.Common_JobStateChanged_Text); @@ -508,7 +519,7 @@ public override void Execute() - #line 107 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 109 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } else { @@ -521,7 +532,7 @@ public override void Execute() - #line 111 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 113 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Html.ServerId(job.Value.ServerId)); @@ -535,7 +546,7 @@ public override void Execute() - #line 114 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 116 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" if (servers.All(x => x.Name != job.Value.ServerId || x.Heartbeat < (StorageUtcNow ?? ApplicationUtcNow).AddMinutes(-1))) { @@ -546,7 +557,7 @@ public override void Execute() - #line 116 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 118 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Strings.ProcessingJobsPage_Aborted); @@ -556,7 +567,7 @@ public override void Execute() - #line 117 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 119 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } @@ -566,7 +577,7 @@ public override void Execute() - #line 119 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 121 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Html.JobNameLink(job.Key, job.Value.Job)); @@ -580,7 +591,7 @@ public override void Execute() - #line 122 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 124 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" if (job.Value.StartedAt.HasValue) { @@ -588,14 +599,14 @@ public override void Execute() #line default #line hidden - #line 124 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 126 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Html.RelativeTime(job.Value.StartedAt.Value)); #line default #line hidden - #line 124 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 126 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } @@ -606,7 +617,7 @@ public override void Execute() - #line 127 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 129 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } @@ -616,7 +627,7 @@ public override void Execute() - #line 129 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 131 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } @@ -627,7 +638,7 @@ public override void Execute() - #line 134 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 136 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" Write(Html.Paginator(pager)); @@ -637,7 +648,7 @@ public override void Execute() - #line 136 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" + #line 138 "..\..\Dashboard\Pages\ProcessingJobsPage.cshtml" } diff --git a/src/Hangfire.Core/Dashboard/Pages/ScheduledJobsPage.cshtml b/src/Hangfire.Core/Dashboard/Pages/ScheduledJobsPage.cshtml index 23463f62d..dc72b6fb1 100644 --- a/src/Hangfire.Core/Dashboard/Pages/ScheduledJobsPage.cshtml +++ b/src/Hangfire.Core/Dashboard/Pages/ScheduledJobsPage.cshtml @@ -14,7 +14,8 @@ var monitor = Storage.GetMonitoringApi(); var pager = new Pager(from, perPage, DashboardOptions.DefaultRecordsPerPage, monitor.ScheduledCount()); - var scheduledJobs = monitor.ScheduledJobs(pager.FromRecord, pager.RecordsPerPage); + var search = Query("search"); + var scheduledJobs = monitor.ScheduledJobs(pager.FromRecord, pager.RecordsPerPage, search); }
@@ -56,6 +57,7 @@ } @Html.PerPageSelector(pager) + @Html.Search(search)
diff --git a/src/Hangfire.Core/Dashboard/Pages/ScheduledJobsPage.cshtml.cs b/src/Hangfire.Core/Dashboard/Pages/ScheduledJobsPage.cshtml.cs index 741d007b1..c164f8fb5 100644 --- a/src/Hangfire.Core/Dashboard/Pages/ScheduledJobsPage.cshtml.cs +++ b/src/Hangfire.Core/Dashboard/Pages/ScheduledJobsPage.cshtml.cs @@ -69,7 +69,8 @@ public override void Execute() var monitor = Storage.GetMonitoringApi(); var pager = new Pager(from, perPage, DashboardOptions.DefaultRecordsPerPage, monitor.ScheduledCount()); - var scheduledJobs = monitor.ScheduledJobs(pager.FromRecord, pager.RecordsPerPage); + var search = Query("search"); + var scheduledJobs = monitor.ScheduledJobs(pager.FromRecord, pager.RecordsPerPage, search); @@ -79,7 +80,7 @@ public override void Execute() - #line 22 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 23 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Html.JobsSidebar()); @@ -90,7 +91,7 @@ public override void Execute() - #line 25 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 26 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.ScheduledJobsPage_Title); @@ -100,7 +101,7 @@ public override void Execute() - #line 27 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 28 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" if (pager.TotalPageCount == 0) { @@ -111,7 +112,7 @@ public override void Execute() - #line 30 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 31 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.ScheduledJobsPage_NoJobs); @@ -121,7 +122,7 @@ public override void Execute() - #line 32 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 33 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } else { @@ -134,7 +135,7 @@ public override void Execute() - #line 37 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 38 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" if (!IsReadOnly) { @@ -146,7 +147,7 @@ public override void Execute() - #line 40 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 41 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Url.To("/jobs/scheduled/enqueue")); @@ -156,7 +157,7 @@ public override void Execute() - #line 41 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 42 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.Common_Enqueueing); @@ -168,7 +169,7 @@ public override void Execute() - #line 44 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 45 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.ScheduledJobsPage_EnqueueNow); @@ -178,7 +179,7 @@ public override void Execute() - #line 46 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 47 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } @@ -186,7 +187,7 @@ public override void Execute() #line hidden - #line 47 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 48 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" if (!IsReadOnly) { @@ -198,7 +199,7 @@ public override void Execute() - #line 50 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 51 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Url.To("/jobs/scheduled/delete")); @@ -208,7 +209,7 @@ public override void Execute() - #line 51 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 52 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.Common_Deleting); @@ -218,7 +219,7 @@ public override void Execute() - #line 52 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 53 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.Common_DeleteConfirm); @@ -230,7 +231,7 @@ public override void Execute() - #line 55 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 56 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.Common_DeleteSelected); @@ -240,7 +241,7 @@ public override void Execute() - #line 57 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 58 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } @@ -250,10 +251,20 @@ public override void Execute() - #line 58 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 59 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Html.PerPageSelector(pager)); + #line default + #line hidden +WriteLiteral("\r\n "); + + + + #line 60 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + Write(Html.Search(search)); + + #line default #line hidden WriteLiteral("\r\n
\r\n\r\n
\r\n " + @@ -262,7 +273,7 @@ public override void Execute() - #line 65 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 67 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" if (!IsReadOnly) { @@ -275,7 +286,7 @@ public override void Execute() - #line 70 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 72 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } @@ -285,7 +296,7 @@ public override void Execute() - #line 71 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 73 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.Common_Id); @@ -295,7 +306,7 @@ public override void Execute() - #line 72 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 74 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.ScheduledJobsPage_Table_Enqueue); @@ -305,7 +316,7 @@ public override void Execute() - #line 73 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 75 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.Common_Job); @@ -315,7 +326,7 @@ public override void Execute() - #line 74 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 76 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.ScheduledJobsPage_Table_Scheduled); @@ -325,7 +336,7 @@ public override void Execute() - #line 77 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 79 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" foreach (var job in scheduledJobs) { @@ -336,7 +347,7 @@ public override void Execute() - #line 79 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 81 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(job.Value == null || !job.Value.InScheduledState ? "obsolete-data" : null); @@ -346,7 +357,7 @@ public override void Execute() - #line 79 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 81 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(job.Value != null && job.Value.InScheduledState ? "hover" : null); @@ -356,7 +367,7 @@ public override void Execute() - #line 80 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 82 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" if (!IsReadOnly) { @@ -367,7 +378,7 @@ public override void Execute() - #line 83 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 85 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" if (job.Value != null && job.Value.InScheduledState) { @@ -379,7 +390,7 @@ public override void Execute() - #line 85 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 87 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(job.Key); @@ -389,7 +400,7 @@ public override void Execute() - #line 86 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 88 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } @@ -399,7 +410,7 @@ public override void Execute() - #line 88 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 90 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } @@ -410,7 +421,7 @@ public override void Execute() - #line 90 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 92 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Html.JobIdLink(job.Key)); @@ -420,7 +431,7 @@ public override void Execute() - #line 91 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 93 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" if (job.Value != null && !job.Value.InScheduledState) { @@ -431,7 +442,7 @@ public override void Execute() - #line 93 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 95 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.Common_JobStateChanged_Text); @@ -441,7 +452,7 @@ public override void Execute() - #line 94 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 96 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } @@ -451,7 +462,7 @@ public override void Execute() - #line 96 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 98 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" if (job.Value == null) { @@ -462,7 +473,7 @@ public override void Execute() - #line 98 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 100 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Strings.Common_JobExpired); @@ -472,7 +483,7 @@ public override void Execute() - #line 99 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 101 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } else { @@ -485,7 +496,7 @@ public override void Execute() - #line 103 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 105 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Html.RelativeTime(job.Value.EnqueueAt)); @@ -500,7 +511,7 @@ public override void Execute() - #line 106 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 108 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Html.JobNameLink(job.Key, job.Value.Job)); @@ -514,7 +525,7 @@ public override void Execute() - #line 109 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 111 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" if (job.Value.ScheduledAt.HasValue) { @@ -522,14 +533,14 @@ public override void Execute() #line default #line hidden - #line 111 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 113 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Html.RelativeTime(job.Value.ScheduledAt.Value)); #line default #line hidden - #line 111 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 113 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } @@ -540,7 +551,7 @@ public override void Execute() - #line 114 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 116 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } @@ -550,7 +561,7 @@ public override void Execute() - #line 116 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 118 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } @@ -560,7 +571,7 @@ public override void Execute() - #line 120 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 122 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" Write(Html.Paginator(pager)); @@ -570,7 +581,7 @@ public override void Execute() - #line 122 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" + #line 124 "..\..\Dashboard\Pages\ScheduledJobsPage.cshtml" } diff --git a/src/Hangfire.Core/Dashboard/Pages/SucceededJobs.cshtml b/src/Hangfire.Core/Dashboard/Pages/SucceededJobs.cshtml index 75f4e6c78..01fcbbb03 100644 --- a/src/Hangfire.Core/Dashboard/Pages/SucceededJobs.cshtml +++ b/src/Hangfire.Core/Dashboard/Pages/SucceededJobs.cshtml @@ -15,7 +15,8 @@ var monitor = Storage.GetMonitoringApi(); var pager = new Pager(from, perPage, DashboardOptions.DefaultRecordsPerPage, monitor.SucceededListCount()); - var succeededJobs = monitor.SucceededJobs(pager.FromRecord, pager.RecordsPerPage); + var search = Query("search"); + var succeededJobs = monitor.SucceededJobs(pager.FromRecord, pager.RecordsPerPage, search); }
@@ -46,6 +47,7 @@ } @Html.PerPageSelector(pager) + @Html.Search(search)
diff --git a/src/Hangfire.Core/Dashboard/Pages/SucceededJobs.cshtml.cs b/src/Hangfire.Core/Dashboard/Pages/SucceededJobs.cshtml.cs index 54c7fc061..240b7a187 100644 --- a/src/Hangfire.Core/Dashboard/Pages/SucceededJobs.cshtml.cs +++ b/src/Hangfire.Core/Dashboard/Pages/SucceededJobs.cshtml.cs @@ -75,7 +75,8 @@ public override void Execute() var monitor = Storage.GetMonitoringApi(); var pager = new Pager(from, perPage, DashboardOptions.DefaultRecordsPerPage, monitor.SucceededListCount()); - var succeededJobs = monitor.SucceededJobs(pager.FromRecord, pager.RecordsPerPage); + var search = Query("search"); + var succeededJobs = monitor.SucceededJobs(pager.FromRecord, pager.RecordsPerPage, search); @@ -85,7 +86,7 @@ public override void Execute() - #line 23 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 24 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Html.JobsSidebar()); @@ -96,7 +97,7 @@ public override void Execute() - #line 26 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 27 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Strings.SucceededJobsPage_Title); @@ -106,7 +107,7 @@ public override void Execute() - #line 28 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 29 "..\..\Dashboard\Pages\SucceededJobs.cshtml" if (pager.TotalPageCount == 0) { @@ -117,7 +118,7 @@ public override void Execute() - #line 31 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 32 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Strings.SucceededJobsPage_NoJobs); @@ -127,7 +128,7 @@ public override void Execute() - #line 33 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 34 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } else { @@ -140,7 +141,7 @@ public override void Execute() - #line 38 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 39 "..\..\Dashboard\Pages\SucceededJobs.cshtml" if (!IsReadOnly) { @@ -152,7 +153,7 @@ public override void Execute() - #line 41 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 42 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Url.To("/jobs/succeeded/requeue")); @@ -162,7 +163,7 @@ public override void Execute() - #line 42 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 43 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Strings.Common_Enqueueing); @@ -174,7 +175,7 @@ public override void Execute() - #line 45 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 46 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Strings.Common_RequeueJobs); @@ -184,7 +185,7 @@ public override void Execute() - #line 47 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 48 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } @@ -194,10 +195,20 @@ public override void Execute() - #line 48 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 49 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Html.PerPageSelector(pager)); + #line default + #line hidden +WriteLiteral("\r\n "); + + + + #line 50 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + Write(Html.Search(search)); + + #line default #line hidden WriteLiteral("\r\n
\r\n\r\n
\r\n " + @@ -206,7 +217,7 @@ public override void Execute() - #line 55 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 57 "..\..\Dashboard\Pages\SucceededJobs.cshtml" if (!IsReadOnly) { @@ -219,7 +230,7 @@ public override void Execute() - #line 60 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 62 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } @@ -229,7 +240,7 @@ public override void Execute() - #line 61 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 63 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Strings.Common_Id); @@ -239,7 +250,7 @@ public override void Execute() - #line 62 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 64 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Strings.Common_Job); @@ -249,7 +260,7 @@ public override void Execute() - #line 63 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 65 "..\..\Dashboard\Pages\SucceededJobs.cshtml" if (succeededJobs.Any(x => x.Value?.StateData != null)) { @@ -260,7 +271,7 @@ public override void Execute() - #line 65 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 67 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Strings.SucceededJobsPage_Table_Duration); @@ -274,7 +285,7 @@ public override void Execute() - #line 66 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 68 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Strings.SucceededJobsPage_Table_Latency); @@ -284,7 +295,7 @@ public override void Execute() - #line 67 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 69 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } else { @@ -296,7 +307,7 @@ public override void Execute() - #line 70 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 72 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Strings.SucceededJobsPage_Table_TotalDuration); @@ -306,7 +317,7 @@ public override void Execute() - #line 71 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 73 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } @@ -316,7 +327,7 @@ public override void Execute() - #line 72 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 74 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Strings.SucceededJobsPage_Table_Succeeded); @@ -327,7 +338,7 @@ public override void Execute() - #line 76 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 78 "..\..\Dashboard\Pages\SucceededJobs.cshtml" foreach (var job in succeededJobs) { @@ -338,7 +349,7 @@ public override void Execute() - #line 78 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 80 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(job.Value == null || !job.Value.InSucceededState ? "obsolete-data" : null); @@ -348,7 +359,7 @@ public override void Execute() - #line 78 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 80 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(job.Value != null && job.Value.InSucceededState ? "hover" : null); @@ -358,7 +369,7 @@ public override void Execute() - #line 79 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 81 "..\..\Dashboard\Pages\SucceededJobs.cshtml" if (!IsReadOnly) { @@ -369,7 +380,7 @@ public override void Execute() - #line 82 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 84 "..\..\Dashboard\Pages\SucceededJobs.cshtml" if (job.Value != null && job.Value.InSucceededState) { @@ -381,7 +392,7 @@ public override void Execute() - #line 84 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 86 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(job.Key); @@ -391,7 +402,7 @@ public override void Execute() - #line 85 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 87 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } @@ -401,7 +412,7 @@ public override void Execute() - #line 87 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 89 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } @@ -412,7 +423,7 @@ public override void Execute() - #line 89 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 91 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Html.JobIdLink(job.Key)); @@ -422,7 +433,7 @@ public override void Execute() - #line 90 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 92 "..\..\Dashboard\Pages\SucceededJobs.cshtml" if (job.Value != null && !job.Value.InSucceededState) { @@ -433,7 +444,7 @@ public override void Execute() - #line 92 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 94 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Strings.Common_JobStateChanged_Text); @@ -443,7 +454,7 @@ public override void Execute() - #line 93 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 95 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } @@ -453,7 +464,7 @@ public override void Execute() - #line 96 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 98 "..\..\Dashboard\Pages\SucceededJobs.cshtml" if (job.Value == null) { if (succeededJobs.Any(x => x.Value?.StateData != null)) @@ -466,7 +477,7 @@ public override void Execute() - #line 100 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 102 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Strings.Common_JobExpired); @@ -476,7 +487,7 @@ public override void Execute() - #line 101 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 103 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } else { @@ -488,7 +499,7 @@ public override void Execute() - #line 104 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 106 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Strings.Common_JobExpired); @@ -498,7 +509,7 @@ public override void Execute() - #line 105 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 107 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } } else @@ -512,7 +523,7 @@ public override void Execute() - #line 110 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 112 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Html.JobNameLink(job.Key, job.Value.Job)); @@ -522,7 +533,7 @@ public override void Execute() - #line 112 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 114 "..\..\Dashboard\Pages\SucceededJobs.cshtml" if (job.Value.StateData != null) { @@ -533,7 +544,7 @@ public override void Execute() - #line 115 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 117 "..\..\Dashboard\Pages\SucceededJobs.cshtml" if (job.Value.StateData.TryGetValue("PerformanceDuration", out var duration)) { @@ -541,14 +552,14 @@ public override void Execute() #line default #line hidden - #line 117 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 119 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Html.ToHumanDuration(TimeSpan.FromMilliseconds(long.Parse(duration, System.Globalization.CultureInfo.InvariantCulture)), false)); #line default #line hidden - #line 117 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 119 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } @@ -563,7 +574,7 @@ public override void Execute() - #line 121 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 123 "..\..\Dashboard\Pages\SucceededJobs.cshtml" if (job.Value.StateData.TryGetValue("Latency", out var latency)) { @@ -571,14 +582,14 @@ public override void Execute() #line default #line hidden - #line 123 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 125 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Html.ToHumanDuration(TimeSpan.FromMilliseconds(long.Parse(latency, System.Globalization.CultureInfo.InvariantCulture)), false)); #line default #line hidden - #line 123 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 125 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } @@ -589,7 +600,7 @@ public override void Execute() - #line 126 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 128 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } else { @@ -601,7 +612,7 @@ public override void Execute() - #line 130 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 132 "..\..\Dashboard\Pages\SucceededJobs.cshtml" if (job.Value.TotalDuration.HasValue) { @@ -609,14 +620,14 @@ public override void Execute() #line default #line hidden - #line 132 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 134 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Html.ToHumanDuration(TimeSpan.FromMilliseconds(job.Value.TotalDuration.Value), false)); #line default #line hidden - #line 132 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 134 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } @@ -627,7 +638,7 @@ public override void Execute() - #line 135 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 137 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } @@ -637,7 +648,7 @@ public override void Execute() - #line 137 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 139 "..\..\Dashboard\Pages\SucceededJobs.cshtml" if (job.Value.SucceededAt.HasValue) { @@ -645,14 +656,14 @@ public override void Execute() #line default #line hidden - #line 139 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 141 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Html.RelativeTime(job.Value.SucceededAt.Value)); #line default #line hidden - #line 139 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 141 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } @@ -663,7 +674,7 @@ public override void Execute() - #line 142 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 144 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } @@ -673,7 +684,7 @@ public override void Execute() - #line 144 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 146 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } @@ -684,7 +695,7 @@ public override void Execute() - #line 149 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 151 "..\..\Dashboard\Pages\SucceededJobs.cshtml" Write(Html.Paginator(pager)); @@ -694,7 +705,7 @@ public override void Execute() - #line 151 "..\..\Dashboard\Pages\SucceededJobs.cshtml" + #line 153 "..\..\Dashboard\Pages\SucceededJobs.cshtml" } diff --git a/src/Hangfire.Core/Dashboard/Pages/_Search.cs b/src/Hangfire.Core/Dashboard/Pages/_Search.cs new file mode 100644 index 000000000..c802a8d8c --- /dev/null +++ b/src/Hangfire.Core/Dashboard/Pages/_Search.cs @@ -0,0 +1,12 @@ +namespace Hangfire.Dashboard.Pages +{ + partial class Search + { + private readonly string _search; + + public Search(string search) + { + _search = search; + } + } +} diff --git a/src/Hangfire.Core/Dashboard/Pages/_Search.cshtml b/src/Hangfire.Core/Dashboard/Pages/_Search.cshtml new file mode 100644 index 000000000..19e13fcf6 --- /dev/null +++ b/src/Hangfire.Core/Dashboard/Pages/_Search.cshtml @@ -0,0 +1,9 @@ +@* Generator: Template TypeVisibility: Internal GeneratePrettyNames: True TrimLeadingUnderscores : true *@ +@using Hangfire.Dashboard.Resources; +@inherits Hangfire.Dashboard.RazorPage + + +
+ +
+ diff --git a/src/Hangfire.Core/Dashboard/Pages/_Search.cshtml.cs b/src/Hangfire.Core/Dashboard/Pages/_Search.cshtml.cs new file mode 100644 index 000000000..bacd6f44b --- /dev/null +++ b/src/Hangfire.Core/Dashboard/Pages/_Search.cshtml.cs @@ -0,0 +1,77 @@ +#pragma warning disable 1591 +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Hangfire.Dashboard.Pages +{ + using System; + using System.Collections.Generic; + using System.Linq; + using System.Text; + + #line 2 "..\..\Dashboard\Pages\_Search.cshtml" + using Hangfire.Dashboard.Resources; + + #line default + #line hidden + + [System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "2.0.0.0")] + internal partial class Search : Hangfire.Dashboard.RazorPage + { +#line hidden + + public override void Execute() + { + + +WriteLiteral("\r\n"); + + + +WriteLiteral("\r\n
\r\n
\r\n \r\n
\r\n
\r\n"); + + + } + } +} +#pragma warning restore 1591 diff --git a/src/Hangfire.Core/Hangfire.Core.csproj b/src/Hangfire.Core/Hangfire.Core.csproj index eab5035e0..a60b71807 100644 --- a/src/Hangfire.Core/Hangfire.Core.csproj +++ b/src/Hangfire.Core/Hangfire.Core.csproj @@ -124,6 +124,12 @@ _Paginator.cshtml + + _Search.cshtml + + + _Search.cshtml + _PerPageSelector.cshtml diff --git a/src/Hangfire.Core/Storage/IMonitoringApi.cs b/src/Hangfire.Core/Storage/IMonitoringApi.cs index 31a8939f6..e8871a8b1 100644 --- a/src/Hangfire.Core/Storage/IMonitoringApi.cs +++ b/src/Hangfire.Core/Storage/IMonitoringApi.cs @@ -29,11 +29,11 @@ public interface IMonitoringApi JobList EnqueuedJobs(string queue, int from, int perPage); JobList FetchedJobs(string queue, int from, int perPage); - JobList ProcessingJobs(int from, int count); - JobList ScheduledJobs(int from, int count); - JobList SucceededJobs(int from, int count); - JobList FailedJobs(int from, int count); - JobList DeletedJobs(int from, int count); + JobList ProcessingJobs(int from, int count, string search); + JobList ScheduledJobs(int from, int count, string search); + JobList SucceededJobs(int from, int count, string search); + JobList FailedJobs(int from, int count, string search); + JobList DeletedJobs(int from, int count, string search); long ScheduledCount(); long EnqueuedCount(string queue); diff --git a/src/Hangfire.Core/Storage/JobStorageMonitor.cs b/src/Hangfire.Core/Storage/JobStorageMonitor.cs index 8d749e4d1..eacf51ece 100644 --- a/src/Hangfire.Core/Storage/JobStorageMonitor.cs +++ b/src/Hangfire.Core/Storage/JobStorageMonitor.cs @@ -28,11 +28,11 @@ public abstract class JobStorageMonitor : IMonitoringApi public abstract StatisticsDto GetStatistics(); public abstract JobList EnqueuedJobs(string queue, int from, int perPage); public abstract JobList FetchedJobs(string queue, int from, int perPage); - public abstract JobList ProcessingJobs(int from, int count); - public abstract JobList ScheduledJobs(int from, int count); - public abstract JobList SucceededJobs(int from, int count); - public abstract JobList FailedJobs(int from, int count); - public abstract JobList DeletedJobs(int from, int count); + public abstract JobList ProcessingJobs(int from, int count, string search); + public abstract JobList ScheduledJobs(int from, int count, string search); + public abstract JobList SucceededJobs(int from, int count, string search); + public abstract JobList FailedJobs(int from, int count, string search); + public abstract JobList DeletedJobs(int from, int count, string search); public virtual JobList AwaitingJobs(int from, int count) { diff --git a/src/Hangfire.SqlServer/SqlServerMonitoringApi.cs b/src/Hangfire.SqlServer/SqlServerMonitoringApi.cs index 4eef88337..1fc25150c 100644 --- a/src/Hangfire.SqlServer/SqlServerMonitoringApi.cs +++ b/src/Hangfire.SqlServer/SqlServerMonitoringApi.cs @@ -77,13 +77,14 @@ public override long ProcessingCount() GetNumberOfJobsByStateName(connection, ProcessingState.StateName)); } - public override JobList ProcessingJobs(int @from, int count) + public override JobList ProcessingJobs(int @from, int count, string search) { return UseConnection(connection => GetJobs( connection, from, count, ProcessingState.StateName, descending: false, + search: search, static (sqlJob, job, invocationData, loadException, stateData) => new ProcessingJobDto { Job = job, @@ -96,13 +97,14 @@ public override JobList ProcessingJobs(int @from, int count) })); } - public override JobList ScheduledJobs(int @from, int count) + public override JobList ScheduledJobs(int @from, int count, string search) { return UseConnection(connection => GetJobs( connection, from, count, ScheduledState.StateName, descending: false, + search: search, static (sqlJob, job, invocationData, loadException, stateData) => new ScheduledJobDto { Job = job, @@ -167,7 +169,7 @@ public override IList Servers() }); } - public override JobList FailedJobs(int @from, int count) + public override JobList FailedJobs(int @from, int count, string search) { return UseConnection(connection => GetJobs( connection, @@ -175,6 +177,7 @@ public override JobList FailedJobs(int @from, int count) count, FailedState.StateName, descending: true, + search: search, static (sqlJob, job, invocationData, loadException, stateData) => new FailedJobDto { Job = job, @@ -190,7 +193,7 @@ public override JobList FailedJobs(int @from, int count) })); } - public override JobList SucceededJobs(int @from, int count) + public override JobList SucceededJobs(int @from, int count, string search) { return UseConnection(connection => GetJobs( connection, @@ -198,6 +201,7 @@ public override JobList SucceededJobs(int @from, int count) count, SucceededState.StateName, descending: true, + search: search, static (sqlJob, job, invocationData, loadException, stateData) => new SucceededJobDto { Job = job, @@ -213,7 +217,7 @@ public override JobList SucceededJobs(int @from, int count) })); } - public override JobList DeletedJobs(int @from, int count) + public override JobList DeletedJobs(int @from, int count, string search) { return UseConnection(connection => GetJobs( connection, @@ -221,6 +225,7 @@ public override JobList DeletedJobs(int @from, int count) count, DeletedState.StateName, descending: true, + search: search, static (sqlJob, job, invocationData, loadException, stateData) => new DeletedJobDto { Job = job, @@ -240,6 +245,7 @@ public override JobList AwaitingJobs(int @from, int count) count, AwaitingState.StateName, descending: false, + null, static (sqlJob, job, invocationData, loadException, stateData) => new AwaitingJobDto { Job = job, @@ -632,15 +638,18 @@ private JobList GetJobs( int count, string stateName, bool descending, + string search, Func, TDto> selector) { string order = descending ? "desc" : "asc"; + string searchJoin = !string.IsNullOrWhiteSpace(search) ? " left join [HangFire].JobParameter p with (nolock, forceseek) on p.JobId = j.Id and p.Name = 'RecurringJobId'" : null; + string searchWhere = !string.IsNullOrWhiteSpace(search) ? " and (p.Value like @search or j.Arguments like @search or j.InvocationData like @search)" : null; string jobsSql = $@";with cte as ( select j.Id, row_number() over (order by j.Id {order}) as row_num - from [{_storage.SchemaName}].Job j with (nolock, forceseek) - where j.StateName = @stateName + from [{_storage.SchemaName}].Job j with (nolock, forceseek) {searchJoin} + where j.StateName = @stateName {searchWhere} ) select j.*, s.Reason as StateReason, s.Data as StateData, s.CreatedAt as StateChanged from [{_storage.SchemaName}].Job j with (nolock, forceseek) @@ -650,7 +659,7 @@ private JobList GetJobs( var jobs = connection.Query( jobsSql, - new { stateName = stateName, start = @from + 1, end = @from + count }, + new { stateName = stateName, start = @from + 1, end = @from + count, search = "%" + search + "%" }, commandTimeout: _storage.CommandTimeout) .ToList(); From 8c9062ab1191d0abfc2568aa3dbc2cffc6f11785 Mon Sep 17 00:00:00 2001 From: fairking <13495631+fairking@users.noreply.github.com> Date: Thu, 6 Jun 2024 20:22:45 +0200 Subject: [PATCH 2/2] Hangfire Search --- src/Hangfire.SqlServer/SqlServerMonitoringApi.cs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/Hangfire.SqlServer/SqlServerMonitoringApi.cs b/src/Hangfire.SqlServer/SqlServerMonitoringApi.cs index 1fc25150c..2c9c242b3 100644 --- a/src/Hangfire.SqlServer/SqlServerMonitoringApi.cs +++ b/src/Hangfire.SqlServer/SqlServerMonitoringApi.cs @@ -642,14 +642,13 @@ private JobList GetJobs( Func, TDto> selector) { string order = descending ? "desc" : "asc"; - string searchJoin = !string.IsNullOrWhiteSpace(search) ? " left join [HangFire].JobParameter p with (nolock, forceseek) on p.JobId = j.Id and p.Name = 'RecurringJobId'" : null; - string searchWhere = !string.IsNullOrWhiteSpace(search) ? " and (p.Value like @search or j.Arguments like @search or j.InvocationData like @search)" : null; + string searchSql = !string.IsNullOrWhiteSpace(search) ? " and (j.InvocationData like @search or j.Arguments like @search)" : null; string jobsSql = $@";with cte as ( select j.Id, row_number() over (order by j.Id {order}) as row_num - from [{_storage.SchemaName}].Job j with (nolock, forceseek) {searchJoin} - where j.StateName = @stateName {searchWhere} + from [{_storage.SchemaName}].Job j with (nolock, forceseek) + where j.StateName = @stateName {searchSql} ) select j.*, s.Reason as StateReason, s.Data as StateData, s.CreatedAt as StateChanged from [{_storage.SchemaName}].Job j with (nolock, forceseek)