feat: sqlite storage draft
This commit is contained in:
@ -98,6 +98,31 @@ func (s *ScannerService) Monitor(ctx context.Context) error {
|
||||
ticker := time.NewTicker(s.Interval)
|
||||
defer ticker.Stop()
|
||||
|
||||
applyChanges := func(changes []Change) {
|
||||
for _, change := range changes {
|
||||
var err error
|
||||
switch change.Type {
|
||||
case Created:
|
||||
err = s.handler.HandleCreate(change.Path)
|
||||
case Modified:
|
||||
err = s.handler.HandleModify(change.Path)
|
||||
case Deleted:
|
||||
err = s.handler.HandleDelete(change.Path)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
log.Printf("handler error for %s: %v", change.Path, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
changes, err := s.Scan()
|
||||
if err != nil {
|
||||
log.Printf("scan error: %v", err)
|
||||
} else {
|
||||
applyChanges(changes)
|
||||
}
|
||||
|
||||
for {
|
||||
select {
|
||||
case <-ticker.C:
|
||||
@ -107,21 +132,7 @@ func (s *ScannerService) Monitor(ctx context.Context) error {
|
||||
continue
|
||||
}
|
||||
|
||||
for _, change := range changes {
|
||||
var err error
|
||||
switch change.Type {
|
||||
case Created:
|
||||
err = s.handler.HandleCreate(change.Path)
|
||||
case Modified:
|
||||
err = s.handler.HandleModify(change.Path)
|
||||
case Deleted:
|
||||
err = s.handler.HandleDelete(change.Path)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
log.Printf("handler error for %s: %v", change.Path, err)
|
||||
}
|
||||
}
|
||||
applyChanges(changes)
|
||||
|
||||
case <-ctx.Done():
|
||||
return ctx.Err()
|
||||
|
||||
Reference in New Issue
Block a user