Exemple #1
0
        public override void Execute()
        {
            WriteLiteral("\r\n");



            #line 8 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"

            var monitor = Storage.GetMonitoringApi();
            var job     = monitor.JobDetails(JobId.ToString());

            string title = null;

            if (job != null)
            {
                title = job.Job != null?Html.JobName(job.Job) : null;
            }

            title  = title ?? "Job";
            Layout = new LayoutPage(title);



            #line default
            #line hidden
            WriteLiteral("\r\n<div class=\"row\">\r\n    <div class=\"col-md-3\">\r\n        ");



            #line 25 "..\..\Dashboard\Pages\JobDetailsPage.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 28 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
            Write(title);


            #line default
            #line hidden
            WriteLiteral("</h1>\r\n\r\n");



            #line 30 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
            if (job == null)
            {
            #line default
            #line hidden
                WriteLiteral("            ");

                WriteLiteral(" The job with id \'");



            #line 32 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                Write(JobId);


            #line default
            #line hidden
                WriteLiteral("\' has expired or could not be found on the server.\r\n");



            #line 33 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
            }
            else
            {
                var currentState = job.History.Count > 0 ? job.History[0] : null;
                if (currentState != null && currentState.StateName == ProcessingState.StateName)
                {
                    var server = monitor.Servers().FirstOrDefault(x => x.Name == currentState.Data["ServerId"]);
                    if (server == null)
                    {
            #line default
            #line hidden
                        WriteLiteral("                    <div class=\"alert alert-danger\">\r\n                        <st" +
                                     "rong>The job was aborted</strong> – it is processed by server\r\n                 " +
                                     "       <code>");



            #line 44 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                        Write(currentState.Data["ServerId"]);


            #line default
            #line hidden
                        WriteLiteral("</code> which is not in the \r\n                        <a href=\"");



            #line 45 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                        Write(Url.To("/servers"));


            #line default
            #line hidden
                        WriteLiteral("\">active servers</a> list for now.\r\n                        It will be retried au" +
                                     "tomatically after invisibility timeout, but you can\r\n                        als" +
                                     "o re-queue or delete it manually.\r\n                    </div>\r\n");



            #line 49 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                    }
                    else if (server.Heartbeat.HasValue && server.Heartbeat < DateTime.UtcNow.AddMinutes(-1))
                    {
            #line default
            #line hidden
                        WriteLiteral("                    <div class=\"alert alert-warning\">\r\n                        <s" +
                                     "trong>Looks like the job was aborted</strong> – it is processed by server\r\n     " +
                                     "                   <code>");



            #line 54 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                        Write(server.Name);


            #line default
            #line hidden
                        WriteLiteral("</code>, which reported its heartbeat more than 1 minute ago.\r\n                  " +
                                     "      It will be retried automatically after invisibility timeout, but you can\r\n" +
                                     "                        also re-queue or delete it manually.\r\n                  " +
                                     "  </div>\r\n");



            #line 58 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                    }
                }

                if (job.ExpireAt.HasValue)
                {
            #line default
            #line hidden
                    WriteLiteral("                <div class=\"alert alert-info\">\r\n                    <strong>The j" +
                                 "ob is finished</strong>.\r\n                    It will be removed automatically <" +
                                 "em><abbr data-moment=\"");



            #line 65 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                    Write(JobHelper.ToTimestamp(job.ExpireAt.Value));


            #line default
            #line hidden
                    WriteLiteral("\">");



            #line 65 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                    Write(job.ExpireAt);


            #line default
            #line hidden
                    WriteLiteral("</abbr></em>.\r\n                </div>\r\n");



            #line 67 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                }



            #line default
            #line hidden
                WriteLiteral("            <div class=\"job-snippet\">\r\n                <div class=\"job-snippet-he" +
                             "ader\">\r\n                    <span class=\"job-snippet-tab\">\r\n                    " +
                             "    Job ID: <span class=\"job-snippet-id\">");



            #line 72 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                Write(Html.JobId(JobId.ToString(), false));


            #line default
            #line hidden
                WriteLiteral("</span>\r\n                    </span>\r\n\r\n                    <span class=\"job-snip" +
                             "pet-buttons pull-right\">\r\n                        <button class=\"btn btn-xs btn-" +
                             "default\" data-ajax=\"");



            #line 76 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                Write(Url.To("/jobs/actions/requeue/" + JobId));


            #line default
            #line hidden
                WriteLiteral("\" data-loading-text=\"Enqueueing...\">Requeue</button>\r\n                        <bu" +
                             "tton class=\"btn btn-xs btn-death\" data-ajax=\"");



            #line 77 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                Write(Url.To("/jobs/actions/delete/" + JobId));


            #line default
            #line hidden
                WriteLiteral(@""" data-loading-text=""Deleting..."" data-confirm=""Do you really want to delete this job?"">Delete</button>
                    </span>

                    <div class=""clearfix""></div>
                </div>
                <div class=""job-snippet-body"">
                    <div class=""job-snippet-code"">
");



            #line 84 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                if (job.CreatedAt.HasValue)
                {
            #line default
            #line hidden
                    WriteLiteral("                            <div class=\"pull-right job-creation-date\">\r\n         " +
                                 "                       Created\r\n                                ");



            #line 88 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                    Write(Html.RelativeTime(job.CreatedAt.Value));


            #line default
            #line hidden
                    WriteLiteral("\r\n                            </div>\r\n");



            #line 90 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                }


            #line default
            #line hidden


            #line 91 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                if (job != null)
                {
            #line default
            #line hidden
                    WriteLiteral("                            <pre><code>");



            #line 93 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                    Write(JobMethodCallRenderer.Render(job.Job));


            #line default
            #line hidden
                    WriteLiteral("</code></pre>\r\n");



            #line 94 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                }


            #line default
            #line hidden
                WriteLiteral("                        <div class=\"clearfix\"></div>\r\n                    </div>\r" +
                             "\n\r\n");



            #line 98 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                if (job.Properties.Count > 0)
                {
            #line default
            #line hidden
                    WriteLiteral("                        <div class=\"job-snippet-properties\">\r\n                   " +
                                 "         <dl>\r\n");



            #line 102 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                    foreach (var property in job.Properties)
                    {
            #line default
            #line hidden
                        WriteLiteral("                                    <dt>");



            #line 104 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                        Write(property.Key);


            #line default
            #line hidden
                        WriteLiteral("</dt>\r\n");



                        WriteLiteral("                                    <dd>\r\n                                       " +
                                     " <pre><code>");



            #line 106 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                        Write(property.Value);


            #line default
            #line hidden
                        WriteLiteral("</code></pre>\r\n                                    </dd>\r\n");



            #line 108 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                    }


            #line default
            #line hidden
                    WriteLiteral("                            </dl>\r\n                        </div>\r\n");



            #line 111 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                }


            #line default
            #line hidden
                WriteLiteral("                </div>\r\n            </div>\r\n");



            #line 114 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"

                if (job.History.Count > 0)
                {
            #line default
            #line hidden
                    WriteLiteral("                <h3>History</h3>\r\n");



            #line 118 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                    var index = 0;

                    DateTime[] entriesCreationTime = job.History.Select(x => x.CreatedAt).ToArray();
                    var        nextEntry           = 1;

                    foreach (var entry in job.History)
                    {
                        var background = index == 0
                        ? JobHistoryRenderer.GetForegroundStateColor(entry.StateName)
                        : JobHistoryRenderer.GetBackgroundStateColor(entry.StateName);



            #line default
            #line hidden
                        WriteLiteral("                    <div class=\"job-history ");



            #line 129 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                        Write(index == 0 ? "job-history-current" : null);


            #line default
            #line hidden
                        WriteLiteral("\">\r\n                        <div class=\"job-history-heading\" style=\"");



            #line 130 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                        Write(String.Format("background-color: {0};", background));


            #line default
            #line hidden
                        WriteLiteral("\">\r\n                            <span class=\"pull-right\" data-moment-title=\"");



            #line 131 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                        Write(JobHelper.ToTimestamp(entry.CreatedAt));


            #line default
            #line hidden
                        WriteLiteral("\">\r\n                                ");



            #line 132 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                        Write(Html.ToHumanDuration(entry.CreatedAt - (nextEntry < entriesCreationTime.Length ? entriesCreationTime[nextEntry] : job.CreatedAt)));


            #line default
            #line hidden
                        WriteLiteral("\r\n");



            #line 133 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                        nextEntry++;


            #line default
            #line hidden
                        WriteLiteral("                            </span>\r\n                            <h4 class=\"job-h" +
                                     "istory-title\">\r\n                                ");



            #line 136 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                        Write(entry.StateName);


            #line default
            #line hidden
                        WriteLiteral("\r\n\r\n");



            #line 138 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                        if (!String.IsNullOrWhiteSpace(entry.Reason))
                        {
            #line default
            #line hidden
                            WriteLiteral("                                    <small>");



            #line 140 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                            Write(entry.Reason);


            #line default
            #line hidden
                            WriteLiteral("</small>\r\n");



            #line 141 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                        }


            #line default
            #line hidden
                        WriteLiteral("                            </h4>\r\n                        </div>\r\n\r\n");



            #line 145 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                        if (JobHistoryRenderer.Exists(entry.StateName))
                        {
                            var rendered = Html.RenderHistory(entry.StateName, entry.Data);
                            if (rendered != null)
                            {
            #line default
            #line hidden
                                WriteLiteral("                                <div class=\"job-history-body\">\r\n                 " +
                                             "                   ");



            #line 151 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                                Write(rendered);


            #line default
            #line hidden
                                WriteLiteral("\r\n                                </div>\r\n");



            #line 153 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                            }
                        }
                        else
                        {
            #line default
            #line hidden
                            WriteLiteral("                            <div class=\"job-history-body\">\r\n                     " +
                                         "           <dl class=\"dl-horizontal\">\r\n");



            #line 159 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                            foreach (var item in entry.Data)
                            {
            #line default
            #line hidden
                                WriteLiteral("                                        <dt>");



            #line 161 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                                Write(item.Key);


            #line default
            #line hidden
                                WriteLiteral(":</dt>\r\n");



                                WriteLiteral("                                        <dd>");



            #line 162 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                                Write(item.Value);


            #line default
            #line hidden
                                WriteLiteral("</dd>\r\n");



            #line 163 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                            }


            #line default
            #line hidden
                            WriteLiteral("                                </dl>\r\n                            </div>\r\n");



            #line 166 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"
                        }


            #line default
            #line hidden
                        WriteLiteral("                    </div>\r\n");



            #line 168 "..\..\Dashboard\Pages\JobDetailsPage.cshtml"

                        index++;
                    }
                }
            }


            #line default
            #line hidden
            WriteLiteral("    </div>\r\n</div>");
        }
        public override void Execute()
        {
            WriteLiteral("\n");



            #line 11 "..\..\Pages\JobDetailsPage.cshtml"

            var           monitor = JobStorage.Current.GetMonitoringApi();
            JobDetailsDto job     = monitor.JobDetails(JobId.ToString());

            string title = null;

            if (job != null)
            {
                title = job.Job != null?String.Format("{0}.{1}", job.Job.Type.Name, job.Job.Method.Name) : null;
            }

            title = title ?? "Job";

            Layout = new LayoutPage {
                Title = title
            };



            #line default
            #line hidden
            WriteLiteral("\n");



            #line 27 "..\..\Pages\JobDetailsPage.cshtml"
            if (job == null)
            {
            #line default
            #line hidden
                WriteLiteral("    ");

                WriteLiteral(" The job with id \'");



            #line 29 "..\..\Pages\JobDetailsPage.cshtml"
                Write(JobId);


            #line default
            #line hidden
                WriteLiteral("\' was expired or was not existed on the server.\n");



            #line 30 "..\..\Pages\JobDetailsPage.cshtml"
            }
            else
            {
            #line default
            #line hidden
                WriteLiteral("    <div class=\"job-snippet-header\">\n        <span class=\"job-snippet-tab\">\n     " +
                             "       Job ID: <span class=\"job-snippet-id\">");



            #line 35 "..\..\Pages\JobDetailsPage.cshtml"
                Write(HtmlHelper.JobId(JobId.ToString(), false));


            #line default
            #line hidden
                WriteLiteral("</span>\n        </span>\n\n        <span class=\"job-snippet-buttons pull-right\">\n  " +
                             "          <button class=\"btn btn-xs btn-default\" data-ajax=\"");



            #line 39 "..\..\Pages\JobDetailsPage.cshtml"
                Write(Request.LinkTo("/actions/requeue/" + JobId));


            #line default
            #line hidden
                WriteLiteral("\" data-loading-text=\"Enqueueing...\">Requeue</button>\n            <button class=\"b" +
                             "tn btn-xs btn-death\" data-ajax=\"");



            #line 40 "..\..\Pages\JobDetailsPage.cshtml"
                Write(Request.LinkTo("/actions/delete/" + JobId));


            #line default
            #line hidden
                WriteLiteral("\" data-loading-text=\"Deleting...\" data-confirm=\"Do you really want to delete this" +
                             " job?\">Delete</button>\n        </span>\n\n        <div class=\"clearfix\"></div>\n   " +
                             " </div>\n");



                WriteLiteral("    <div class=\"job-snippet\">\n        <div class=\"job-snippet-code\">\n");



            #line 47 "..\..\Pages\JobDetailsPage.cshtml"
                if (job.CreatedAt.HasValue)
                {
            #line default
            #line hidden
                    WriteLiteral("                <div class=\"pull-right job-creation-date\">\n                    Cr" +
                                 "eated\n                    <span data-moment=\"");



            #line 51 "..\..\Pages\JobDetailsPage.cshtml"
                    Write(JobHelper.ToStringTimestamp(job.CreatedAt.Value));


            #line default
            #line hidden
                    WriteLiteral("\"></span>\n                </div>\n");



            #line 53 "..\..\Pages\JobDetailsPage.cshtml"
                }


            #line default
            #line hidden


            #line 54 "..\..\Pages\JobDetailsPage.cshtml"
                if (job != null)
                {
            #line default
            #line hidden
                    WriteLiteral("                <pre><code>");



            #line 56 "..\..\Pages\JobDetailsPage.cshtml"
                    Write(JobMethodCallRenderer.Render(job.Job));


            #line default
            #line hidden
                    WriteLiteral("</code></pre>\n");



            #line 57 "..\..\Pages\JobDetailsPage.cshtml"
                }


            #line default
            #line hidden
                WriteLiteral("            <div class=\"clearfix\"></div>\n        </div>\n\n");



            #line 61 "..\..\Pages\JobDetailsPage.cshtml"
                if (job.Properties.Count > 0)
                {
            #line default
            #line hidden
                    WriteLiteral("            <div class=\"job-snippet-properties\">\n                <dl>\n");



            #line 65 "..\..\Pages\JobDetailsPage.cshtml"
                    foreach (var property in job.Properties)
                    {
            #line default
            #line hidden
                        WriteLiteral("                        <dt>");



            #line 67 "..\..\Pages\JobDetailsPage.cshtml"
                        Write(property.Key);


            #line default
            #line hidden
                        WriteLiteral("</dt>\n");



                        WriteLiteral("                        <dd>\n                            <pre>");



            #line 69 "..\..\Pages\JobDetailsPage.cshtml"
                        Write(property.Value);


            #line default
            #line hidden
                        WriteLiteral("</pre>\n                        </dd>\n");



            #line 71 "..\..\Pages\JobDetailsPage.cshtml"
                    }


            #line default
            #line hidden
                    WriteLiteral("                </dl>\n            </div>\n");



            #line 74 "..\..\Pages\JobDetailsPage.cshtml"
                }


            #line default
            #line hidden
                WriteLiteral("    </div>\n");



            #line 76 "..\..\Pages\JobDetailsPage.cshtml"

                if (job.History.Count > 0)
                {
            #line default
            #line hidden
                    WriteLiteral("        <h3>History</h3>\n");



            #line 80 "..\..\Pages\JobDetailsPage.cshtml"
                    var index = 0;

                    DateTime[] entriesCreationTime = job.History.Select(x => x.CreatedAt).ToArray();
                    var        nextEntry           = 1;

                    foreach (var entry in job.History)
                    {
                        var background = JobHistoryRenderer.BackgroundStateColors.ContainsKey(entry.StateName)
               ? JobHistoryRenderer.BackgroundStateColors[entry.StateName]
               : null;

                        if (index == 0)
                        {
                            background = JobHistoryRenderer.ForegroundStateColors.ContainsKey(entry.StateName)
                    ? JobHistoryRenderer.ForegroundStateColors[entry.StateName]
                    : null;
                        }



            #line default
            #line hidden
                        WriteLiteral("            <div class=\"job-history ");



            #line 98 "..\..\Pages\JobDetailsPage.cshtml"
                        Write(index == 0 ? "job-history-current" : null);


            #line default
            #line hidden
                        WriteLiteral("\">\n                <div class=\"job-history-heading\" style=\"");



            #line 99 "..\..\Pages\JobDetailsPage.cshtml"
                        Write(background != null ? String.Format("background-color: {0};", background) : null);


            #line default
            #line hidden
                        WriteLiteral("\">\n                    <span class=\"pull-right\" data-moment-title=\"");



            #line 100 "..\..\Pages\JobDetailsPage.cshtml"
                        Write(JobHelper.ToStringTimestamp(entry.CreatedAt));


            #line default
            #line hidden
                        WriteLiteral("\">\n                        ");



            #line 101 "..\..\Pages\JobDetailsPage.cshtml"
                        Write(HtmlHelper.ToHumanDuration(entry.CreatedAt - (nextEntry < entriesCreationTime.Length ? entriesCreationTime[nextEntry] : job.CreatedAt)));


            #line default
            #line hidden
                        WriteLiteral("\n");



            #line 102 "..\..\Pages\JobDetailsPage.cshtml"
                        nextEntry++;


            #line default
            #line hidden
                        WriteLiteral("                    </span>\n                    <h4 class=\"job-history-title\">\n  " +
                                     "                      ");



            #line 105 "..\..\Pages\JobDetailsPage.cshtml"
                        Write(entry.StateName);


            #line default
            #line hidden
                        WriteLiteral("\n\n");



            #line 107 "..\..\Pages\JobDetailsPage.cshtml"
                        if (!String.IsNullOrWhiteSpace(entry.Reason))
                        {
            #line default
            #line hidden
                            WriteLiteral("                            <small>");



            #line 109 "..\..\Pages\JobDetailsPage.cshtml"
                            Write(entry.Reason);


            #line default
            #line hidden
                            WriteLiteral("</small>\n");



            #line 110 "..\..\Pages\JobDetailsPage.cshtml"
                        }


            #line default
            #line hidden
                        WriteLiteral("                    </h4>\n                </div>\n\n");



            #line 114 "..\..\Pages\JobDetailsPage.cshtml"
                        if (JobHistoryRenderer.Exists(entry.StateName))
                        {
                            var rendered = JobHistoryRenderer.Render(entry.StateName, entry.Data);
                            if (rendered != null)
                            {
            #line default
            #line hidden
                                WriteLiteral("                        <div class=\"job-history-body\">\n                          " +
                                             "  ");



            #line 120 "..\..\Pages\JobDetailsPage.cshtml"
                                Write(rendered);


            #line default
            #line hidden
                                WriteLiteral("\n                        </div>\n");



            #line 122 "..\..\Pages\JobDetailsPage.cshtml"
                            }
                        }
                        else
                        {
            #line default
            #line hidden
                            WriteLiteral("                    <div class=\"job-history-body\">\n                        <dl cl" +
                                         "ass=\"dl-horizontal\">\n");



            #line 128 "..\..\Pages\JobDetailsPage.cshtml"
                            foreach (var item in entry.Data)
                            {
            #line default
            #line hidden
                                WriteLiteral("                                <dt>");



            #line 130 "..\..\Pages\JobDetailsPage.cshtml"
                                Write(item.Key);


            #line default
            #line hidden
                                WriteLiteral(":</dt>\n");



                                WriteLiteral("                                <dd>");



            #line 131 "..\..\Pages\JobDetailsPage.cshtml"
                                Write(item.Value);


            #line default
            #line hidden
                                WriteLiteral("</dd>\n");



            #line 132 "..\..\Pages\JobDetailsPage.cshtml"
                            }


            #line default
            #line hidden
                            WriteLiteral("                        </dl>\n                    </div>\n");



            #line 135 "..\..\Pages\JobDetailsPage.cshtml"
                        }


            #line default
            #line hidden
                        WriteLiteral("            </div>\n");



            #line 137 "..\..\Pages\JobDetailsPage.cshtml"

                        index++;
                    }
                }
            }

            #line default
            #line hidden
        }