mirror of
https://github.com/nxshock/gron.git
synced 2024-11-27 03:41:00 +05:00
2.1 KiB
2.1 KiB
gron
SystemD and cron inspired job scheduler
Usage
-
Create
gron.d
directory -
Create job config in
gron.d/job1.conf
(TOML format):Type = "cmd" # command execution Cron = "* * * * *" # cron instructions Command = "echo Hello" # command to execute
SQL job:
Type = "sql" # sql execution Cron = "* * * * *" # cron instructions Description = "execute procedure every minute" # job description Driver = "pgx" # "pgx" for Postgresql, "oracle" for Oracle, "sqlserver" for Microsoft SQL Server ConnectionString = "postgres://login:password@host:port/database?sslmode=disable" # each driver has different syntax SqlText = "CALL procedure" # command to execute
Add other options if needed:
Description = "print Hello every minute" # job description NumberOfRestartAttemts = 3 # number of restart attemts RestartSec = 5 # the time to sleep before restarting a job (seconds) RestartRule = "on-error" # Configures whether the job shall be restarted when the job process exits OnSuccessCmd = "echo 'Job finished.'" # execute cmd on job success OnErrorCmd = "echo 'Error occurred: {{.Error}}'" # execute cmd on job error OnSuccessHttpGetUrl = "" OnErrorHttpGetUrl = "http://127.0.0.1/alerts?title={{.JobName}}%20failed&message={{.Error}}&tags=warning" OnSuccessHttpPostUrl = "http://127.0.0.1/alerts" OnSuccessMessageFmt = "Job {{.JobName}} finished." OnErrorHttpPostUrl = "http://127.0.0.1/alerts" OnErrorMessageFmt = "Job {{.JobName}} failed:\n\n{{.Error}}"
-
Launch
gron
binary -
HTTP interface available on http://127.0.0.1:9876