Implement main, optional seconds, and from file

This commit is contained in:
bel
2020-03-13 04:40:02 +00:00
parent a1cea7d1cb
commit 877ec310bd
7 changed files with 32 additions and 7 deletions

View File

@@ -28,6 +28,7 @@ func New() *Scheduler {
cron.SkipIfStillRunning(l),
cron.Recover(l),
),
cron.WithParser(getParser()),
)
return &Scheduler{
cron: c,
@@ -79,7 +80,7 @@ func cleanLine(b []byte) []byte {
}
func splitScheduleCommand(b []byte) (string, string) {
re := regexp.MustCompile(`^((\d+|\*\/\d+|(\d,)*\d+|\*) [ ]*){5}`)
re := regexp.MustCompile(`^((\d+|\*\/\d+|(\d,)*\d+|\*) [ ]*){5,6}`)
schedule := string(re.Find(b))
if len(schedule) == 0 {
return "", ""
@@ -150,13 +151,13 @@ func (s *Scheduler) Add(j *Job) error {
if err != nil {
return err
}
if err := config.Store.Set(j.Name, b); err != nil {
return err
}
entryID, err := s.cron.AddJob(j.Schedule, j)
if err != nil {
return err
}
if err := config.Store.Set(j.Name, b); err != nil {
return err
}
s.running[j.Name] = entryID
return nil
}