{% extends "overseer/base.html" %}{% load overseer_extras %} {% block title %}Schedules · Overseer{% endblock %} {% block heading %}Schedules{% endblock %} {% block meta %}{% if can_manage_schedules %}
{% csrf_token %}
{% endif %}{% endblock %} {% block content %}
{% if schedules %} {% if can_manage_schedules %}{% endif %} {% for s in schedules %} {% if can_manage_schedules %}{% endif %} {% endfor %}
NameTaskWhenStateNext runLast runRuns
{{ s.name }}{% if not s.declared_in_code %} (db){% endif %} {{ s.task_path }}{% if s.args or s.kwargs %}
{{ s.args }} {{ s.kwargs }}{% endif %}
{{ s.spec }}{% if s.timezone %} {{ s.timezone }}{% endif %} {% if s.enabled %}enabled{% elif s.missing_from_code %}removed from code{% else %}paused{% endif %}{% if s.last_error %}
{{ s.last_error|truncatechars:80 }}{% endif %}
{% if s.enabled %}{{ s.next_run_at|ago }}{% else %}–{% endif %} {% if s.last_job %}{{ s.last_run_at|ago }} {{ s.last_job.status }}{% else %}–{% endif %} {{ s.runs_count }}
{% csrf_token %}
{% csrf_token %}
{% else %}
No schedules. Declare one with @overseer.schedule("*/5 * * * *") and run overseer_sync_schedules, or start the scheduler.
{% endif %}
{% endblock %}