feat(schedule): add name and allow disable

This commit is contained in:
fiftin 2024-07-01 00:16:35 +05:00
parent aca9055abb
commit 8fe600fd4f
No known key found for this signature in database
GPG Key ID: 044381366A5D4731
4 changed files with 24 additions and 7 deletions

View File

@ -774,6 +774,10 @@ definitions:
type: integer
template_id:
type: integer
name:
type: string
disabled:
type: boolean
Schedule:
type: object
@ -786,6 +790,10 @@ definitions:
type: integer
template_id:
type: integer
name:
type: string
disabled:
type: boolean
ViewRequest:
type: object

View File

@ -1,12 +1,15 @@
package db
type Schedule struct {
ID int `db:"id" json:"id"`
ProjectID int `db:"project_id" json:"project_id"`
TemplateID int `db:"template_id" json:"template_id"`
CronFormat string `db:"cron_format" json:"cron_format"`
RepositoryID *int `db:"repository_id" json:"repository_id"`
ID int `db:"id" json:"id"`
ProjectID int `db:"project_id" json:"project_id"`
TemplateID int `db:"template_id" json:"template_id"`
CronFormat string `db:"cron_format" json:"cron_format"`
Name string `db:"name" json:"name"`
Disabled bool `db:"disabled" json:"disabled"`
LastCommitHash *string `db:"last_commit_hash" json:"-"`
RepositoryID *int `db:"repository_id" json:"repository_id"`
}
type ScheduleWithTpl struct {

View File

@ -1 +1,3 @@
alter table `project__template` add `tasks` int not null default 0;
alter table `project__template` add `tasks` int not null default 0;
alter table `project__schedule` add `name` varchar(100);
alter table `project__schedule` add `disabled` boolean not null default false;

View File

@ -4,11 +4,11 @@ import (
"strconv"
"sync"
log "github.com/sirupsen/logrus"
"github.com/ansible-semaphore/semaphore/db"
"github.com/ansible-semaphore/semaphore/db_lib"
"github.com/ansible-semaphore/semaphore/services/tasks"
"github.com/robfig/cron/v3"
log "github.com/sirupsen/logrus"
)
type ScheduleRunner struct {
@ -111,6 +111,10 @@ func (p *SchedulePool) Refresh() {
p.locker.Lock()
p.clear()
for _, schedule := range schedules {
if schedule.Disabled {
continue
}
_, err := p.addRunner(ScheduleRunner{
projectID: schedule.ProjectID,
scheduleID: schedule.ID,