{% extends "base.html" %} {% block title %}调度中心 — News Harvester{% endblock %} {% block extra_head %} {% endblock %} {% block content %}

调度中心

每源一行:24 小时时间轴上标出全部触发时刻(●), 黄色高亮为下次触发,红色竖线为当前时刻,按下次触发排序。 每日汇总 digest:{{ digest_times|join(', ') if digest_times else '未排' }}{% if digest_next %},下次 {{ digest_next.strftime('%m-%d %H:%M') }}{% endif %}。 「✎ 排程」按频率+时段意图维护,保存后自动重排全部时间。

全局最小间隔:
{% with messages = get_flashed_messages() %} {% if messages %}{% for m in messages %}
{{ m }}
{% endfor %}{% endif %} {% endwith %}
{% for r in rows %} {% endfor %}
栏目24h 时间轴定时下次触发上次运行操作
{{ r.name }}{% if r.display and r.display != r.name %} {{ r.display }}{% endif %}
{% if r.state == 'active' %}调度中 {% elif r.state == 'disabled' %}已禁用 {% else %}未排程{% endif %} {% if not r.enabled %}技能停用{% endif %}
{% if r.times %}
{% for t in r.times %} {% set h = t.split(':')[0]|int %}{% set m = t.split(':')[1]|int %} {% set pct = ((h*60+m)/1440*100)|round(2) %}
{% endfor %}
0006121824
{% else %} — 未排程 — {% endif %}
{{ r.times|join(', ') if r.times else '—' }}{% if r.times|length > 1 %} 每日{{ r.times|length }}次{% endif %} {% if r.next_in_min is not none %} {{ r.next }}
{{ r.next_in_min }} 分钟后 {% else %}—{% endif %}
{% if r.last %} {{ r.last.mtime }}
{% set st = r.last.status or '' %} {% if '熔断' in st %}{{ st }} {% elif '部分交付' in st or '⚠' in st %}{{ st }} {% elif '成功' in st %}{{ st }} {% elif st %}{{ st }}{% endif %} {% else %}从未{% endif %}
{% if r.enabled %}
{% endif %} {% if r.state != 'none' %} {% if r.state == 'active' %}
{% else %}
{% endif %}
{% endif %}
{% endblock %}