É um simples gerenciador de tarefas com interface HTTP e MySQL como banco de dados.
Você pode instalar este serviço com esse comando:
$ go get github.com/sl4ureano/Severino
$ go get
$ go build
Isso criará um binário chamado severino, crie um arquivo .env na raiz do projeto com este conteúdo:
MYSQL_DB=root:password@tcp(localhost:3306)/severino?charset=utf8&parseTime=True
GIN_MODE=release
PORT=8080
Execute o servidor:
$ export SEVERINO=dev ./severino
Seu servidor está rodando!
NOTA: Estão disponíveis como ambiente para o severino prod
, test
e dev
.
Você pode gerenciar as tarefas no servidor pela API
POST http://localhost:8080/tasks
{
"id": "task-id",
"periodicity": "@every 1m",
"command": "curl https://api.ipify.org?format=text"
}
Formato usado para periodicidade do job
Entry | Description | Equivalent To
----- | ----------- | -------------
@yearly (or @annually) | Run once a year, midnight, Jan. 1st | 0 0 0 1 1 *
@monthly | Run once a month, midnight, first of month | 0 0 0 1 * *
@weekly | Run once a week, midnight on Sunday | 0 0 0 * * 0
@daily (or @midnight) | Run once a day, midnight | 0 0 0 * * *
@hourly | Run once an hour, beginning of hour | 0 0 * * * *
Veja mais em https://godoc.org/gopkg.in/robfig/cron.v2
DELETE http://localhost:8080/tasks/task-id
POST http://localhost:8080/tasks
{
"id": "task-id",
"periodicity": "stop",
"command": "curl https://api.ipify.org?format=text"
}
GET http://localhost:8080/tasks
GET http://localhost:8080/tasks/task-id
Sinta-se livre para contribuir e relatar bugs.
Desenvolvido com ❤️ no vale tecnológico da Baixada Fluminense.