1.4 KiB
1.4 KiB
PySentry
PySentry is a cross-platform desktop scheduler inspired by cron.
The project is starting with the GUI shell first, then the scheduling core.
Requirements
- Go 1.22 or newer
- A C compiler for Fyne builds on Windows, for example MSYS2/MinGW-w64
Run
go mod tidy
go run ./cmd/pysentry
If Go is installed but not available in PATH, use the full path:
& 'C:\Program Files\Go\bin\go.exe' run ./cmd/pysentry
Current shape
cmd/pysentrystarts the desktop app.internal/appcontains the first Fyne-based interface prototype.internal/corecontains YAML storage, command execution, and the first scheduler loop.- Jobs can be created, edited, paused/resumed, run manually, and persisted to YAML.
- Settings are stored in
pysentry.yamlnext to the executable. - Jobs are stored in one
jobs.yamlfile. The job directory is configured byjobs_dirand defaults to the executable directory. - Command output is also written to per-run
.logfiles inlogs_dir. Log filenames include the run timestamp and job name. - Log cleanup is controlled by
max_log_filesandmax_log_age_days. - The current scheduler supports
@everyschedules such as@every 10sand@every 1m. - Run history records include a
triggervalue such asManual,Schedule, orUI. - Cron expression parsing is planned for the next phase.