package jobqueue import ( "encoding/json" "os" ) // State repräsentiert den Zustand, den wir speichern wollen type State struct { // Jobs enthält alle Jobs, die wir speichern wollen Jobs []JobSerializedState `json:"jobs"` } type StateManager interface { LoadState() error SaveState() error } // FileStateManager implementiert StateManager type FileStateManager struct { filePath string state *State } // LoadState lädt den Zustand aus der Datei func (f *FileStateManager) LoadState() error { file, err := os.Open(f.filePath) if err != nil { return err } defer file.Close() decoder := json.NewDecoder(file) if err := decoder.Decode(&f.state); err != nil { return err } return nil } // SaveState speichert den Zustand in der Datei func (f *FileStateManager) SaveState() error { file, err := os.Create(f.filePath) if err != nil { return err } defer file.Close() encoder := json.NewEncoder(file) if err := encoder.Encode(f.state); err != nil { return err } return nil }