Netpulse_SasS/server/internal
byrsapty 436eff343d Етап 7: планувальник бекапів за cron
Збір конфігів перестав залежати від того, чи згадає людина натиснути
кнопку.

Свій парсер cron (internal/cronx) замість залежності: бітові маски
uint64 на поле, пошук наступного запуску покроково по хвилинах із
запобіжником у чотири роки. Правило dom/dow — об'єднання, як у справжнього
cron. Неможливий розклад (30 лютого) чесно відмовляє замість зациклення.

Планувальник тікає раз на хвилину під advisory-блокуванням, тож у
кластері розклад розкручує рівно один екземпляр. Спершу переноситься
next_backup_at, потім ставиться завдання: падіння між кроками коштує
одного пропущеного бекапу, зворотний порядок дав би нескінченну чергу.

Форма розкладу: чотири пресети плюс довільний cron. Виправлено помилку,
через яку пункт «свій розклад…» нічого не робив — обробник select
відсікав порожнє значення, тобто саме той випадок, заради якого пункт
існує.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-24 12:54:07 +03:00
..
alerting Етап 9: алерти й сповіщення 2026-08-15 11:09:19 +03:00
auth Етап 5: користувачі, вхід і права 2026-08-15 10:24:58 +03:00
cronx Етап 7: планувальник бекапів за cron 2026-08-24 12:54:07 +03:00
crypto Етап 9: алерти й сповіщення 2026-08-15 11:09:19 +03:00
difftext Візуальний diff конфігів 2026-08-24 12:30:30 +03:00
grpcapi Етап 7: планувальник бекапів за cron 2026-08-24 12:54:07 +03:00
httpapi Етап 7: планувальник бекапів за cron 2026-08-24 12:54:07 +03:00
store Етап 7: планувальник бекапів за cron 2026-08-24 12:54:07 +03:00