From 14a1e513da41ab69ead5669ed679cd017dd88992 Mon Sep 17 00:00:00 2001
From: Volker Schukai <volker.schukai@schukai.com>
Date: Sat, 4 May 2024 13:04:38 +0200
Subject: [PATCH] fix: repair missing inotify schedule

---
 persistence.go | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/persistence.go b/persistence.go
index 0f8896d..1674e8f 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
 	}
-- 
GitLab