def get_finished(self, failed_only=False, limit=None, offset=None):
"""
- Returns an iterator of all finished jobs
+ Returns a list of all finished jobs
"""
if failed_only:
- return self._get_jobs("""
+ jobs = self._get_jobs("""
SELECT
*
FROM
%s
""", limit, offset)
- return self._get_jobs("""
- SELECT
- *
- FROM
- jobs
- WHERE
- deleted_at IS NULL
- AND
- finished_at IS NOT NULL
- ORDER BY
- finished_at DESC
- LIMIT
- %s
- OFFSET
- %s
- """, limit, offset)
+ else:
+ jobs = self._get_jobs("""
+ SELECT
+ *
+ FROM
+ jobs
+ WHERE
+ deleted_at IS NULL
+ AND
+ finished_at IS NOT NULL
+ ORDER BY
+ finished_at DESC
+ LIMIT
+ %s
+ OFFSET
+ %s
+ """, limit, offset)
+
+ return list(jobs)
@property
def running(self):
</div>
</section>
- {# Show a status bar with running/queued jobs #}
- {% if running_jobs or queued_jobs %}
+ {# Show a status bar with running/finished jobs #}
+ {% if running_jobs or finished_jobs %}
<section class="hero is-light">
<div class="hero-body">
<div class="container">
- <div class="level">
- {# Running Jobs #}
- {% if running_jobs %}
- <div class="level-item has-text-centered">
- <div>
- <p class="heading">{{ _("Running Jobs") }}</p>
- <p class="title">{{ len(running_jobs) }}</p>
- </div>
- </div>
- {% end %}
+ {% module JobsQueue(running_jobs + finished_jobs) %}
- {# Queue Length #}
- {% if queue_length %}
- <div class="level-item has-text-centered">
- <div>
- <p class="heading">{{ _("Queued Jobs") }}</p>
- <p class="title">
- <a href="/jobs/queue">
- {{ queue_length }}
- </a>
- </p>
- </div>
- </div>
- {% end %}
- </div>
+ <div class="buttons is-centered">
+ <a class="button is-light" href="/jobs/queue">
+ {{ _("Queued Jobs") }} <span class="tag">{{ queue_length }}</span>
+ </a>
- {% module JobsQueue(running_jobs + queued_jobs) %}
+ <a class="button is-light" href="/jobs">
+ {{ _("Recently Finished Jobs") }}
+ </a>
+ </div>
</div>
</div>
</section>
# Fetch all running jobs
"running_jobs" : self.backend.jobs.running,
- # Fetch queued jobs
- "queued_jobs" : self.backend.jobs.queue.get_jobs(limit=3),
+ # Fetch finished jobs
+ "finished_jobs" : self.backend.jobs.get_finished(limit=8),
# Fetch the total length of the queue
"queue_length" : len(self.backend.jobs.queue),