first run distribusi baked 17 Agt 2026 (config default + loop via config + compose) ; saldo liquid pindah paling kiri ; empty-state history jadi BELUM ADA DISTRIBUSI

This commit is contained in:
proitlab committed 2026-08-06 21:35:19 +07:00
1 parent 2f1f19c435
commit 192e27aff3
9 files changed
+28 -21

No files matched your search

+6 -5
View File
@@ -1,5 +1,6 @@
"""Jadwal distribusi mingguan: jalankan distribute.py pada hari `DISTRIBUTE_WEEKDAY`
jam `DISTRIBUTE_HOUR`, plus satu one-off `DISTRIBUTE_FIRST_RUN` (YYYY-MM-DD).
jam `DISTRIBUTE_HOUR`, plus satu one-off `DISTRIBUTE_FIRST_RUN` (YYYY-MM-DD,
default baked `2026-08-17` via config).
Contoh produksi: `DISTRIBUTE_FIRST_RUN=2026-08-17` (Senin) lalu `DISTRIBUTE_WEEKDAY=sat`
→ putaran pertama Senin 17 Agt 10:00, berikutnya tiap Sabtu 10:00.
@@ -19,10 +20,10 @@ Scheduler helper (`next_boundary`, `_wait_db`) sengaja diduplikasi dari
`Dockerfile.dist` ⊥ membawa `scan_loop.py`/`get_voters.py`.
"""
import os
import time
from datetime import datetime, timedelta
import config
import db
import distribute
@@ -93,11 +94,11 @@ def _run_distribute(label):
def main():
hour = int(os.getenv('DISTRIBUTE_HOUR', '10'))
hour = config.DISTRIBUTE_HOUR
if not 0 <= hour <= 23:
raise ValueError(f'DISTRIBUTE_HOUR tak valid: {hour!r}')
weekday = parse_weekday(os.getenv('DISTRIBUTE_WEEKDAY', 'sat'))
first_run = parse_first_run(os.getenv('DISTRIBUTE_FIRST_RUN', ''))
weekday = parse_weekday(config.DISTRIBUTE_WEEKDAY)
first_run = parse_first_run(config.DISTRIBUTE_FIRST_RUN)
jadwal = (f'jam {hour} tiap hari {list(WEEKDAYS)[weekday]} (waktu lokal)'
+ (f', one-off {first_run.isoformat()}' if first_run else ''))
print(f'Jadwal distribusi: {jadwal}')