<%= tag.code @job.display_name %>

<%= t "good_job.models.job.queue" %>
<%= tag.strong @job.queue_name %>
<%= t "good_job.models.job.priority" %>
<%= tag.strong @job.priority %>
<%= tag.span relative_time(@job.last_status_at), class: "small" %> <%= status_badge @job.status %>
<% if @job.status.in? [:scheduled, :retried, :queued] %> <%= button_to reschedule_job_path(@job.id), method: :put, class: "btn btn-sm btn-outline-primary", form_class: "d-inline-block", aria: { label: t("good_job.jobs.actions.reschedule") }, title: t("good_job.jobs.actions.reschedule"), data: { confirm: t("good_job.jobs.actions.confirm_reschedule") } do %> <%= render_icon "skip_forward" %> <%= t "good_job.actions.reschedule" %> <% end %> <% end %> <% if @job.status.in? [:scheduled, :retried, :queued] %> <%= button_to discard_job_path(@job.id), method: :put, class: "btn btn-sm btn-outline-primary", form_class: "d-inline-block", aria: { label: t("good_job.jobs.actions.discard") }, title: t("good_job.jobs.actions.discard"), data: { confirm: t("good_job.jobs.actions.confirm_discard") } do %> <%= render_icon "stop" %> <%= t "good_job.actions.discard" %> <% end %> <% end %> <% if @job.status == :discarded %> <%= button_to retry_job_path(@job.id), method: :put, class: "btn btn-sm btn-outline-primary", form_class: "d-inline-block", aria: { label: t("good_job.jobs.actions.retry") }, title: t("good_job.jobs.actions.retry"), data: { confirm: t("good_job.jobs.actions.confirm_retry") } do %> <%= render_icon "arrow_clockwise" %> <%= t "good_job.actions.retry" %> <% end %> <% end %> <% if @job.status.in? [:discarded, :succeeded] %> <%= button_to job_path(@job.id), method: :delete, class: "btn btn-sm btn-outline-primary", form_class: "d-inline-block", aria: { label: t("good_job.jobs.actions.destroy") }, title: t("good_job.jobs.actions.destroy"), data: { confirm: t("good_job.jobs.actions.confirm_destroy") } do %> <%= render_icon "trash" %> <%= t "good_job.actions.destroy" %> <% end %> <% end %>
<%= t "good_job.models.job.arguments" %> <%= tag.button type: "button", class: "btn btn-sm text-muted", role: "button", title: t("good_job.actions.inspect"), data: { bs_toggle: "collapse", bs_target: "##{dom_id(@job, 'params')}" }, aria: { expanded: false, controls: dom_id(@job, "params") } do %> <%= render_icon "info" %> <%= t "good_job.actions.inspect" %> <% end %>
<%= tag.pre @job.serialized_params["arguments"].map(&:inspect).join(', '), class: 'text-wrap text-break' %> <%= tag.div id: dom_id(@job, "params"), class: "list-group-item collapse small bg-dark text-light" do %> <%= tag.pre JSON.pretty_generate(@job.display_serialized_params) %> <% end %> <% if @job.discrete? %> <%= render 'executions', executions: @job.discrete_executions.reverse %> <% else %> <%= render 'executions', executions: @job.executions.includes_advisory_locks.reverse %> <% end %>