diff --git a/persistence.go b/persistence.go index 0f8896d68f3647050571f966b8af7f89d0b07d17..1674e8fb4b5ee747ae9e14d7ecc52053a77b7db1 100644 --- a/persistence.go +++ b/persistence.go @@ -409,6 +409,21 @@ func CreateJobAndSchedulerFromPersistence(jobImport JobPersistence, manager *Man scheduler = &TimeScheduler{Time: *jobImport.Scheduler.Time} + case "inotify": + + if jobImport.Scheduler.Path == "" { + return nil, nil, fmt.Errorf("%w: path is empty", ErrSchedulerMisconfiguration) + } + + if fi, err := os.Stat(jobImport.Scheduler.Path); err != nil || !fi.IsDir() { + return nil, nil, fmt.Errorf("%w: path %s does not exist or is not a directory", ErrSchedulerMisconfiguration, jobImport.Scheduler.Path) + } + + scheduler = &InotifyScheduler{ + Path: jobImport.Scheduler.Path, + EventFlags: jobImport.Scheduler.EventFlags, + } + default: return nil, nil, ErrUnknownSchedulerType }