Context tiefer leiten. Blockierung stört.
This commit is contained in:
parent
504cebebb9
commit
5858e70c0d
|
|
@ -1,6 +1,7 @@
|
|||
package eliofile
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"os"
|
||||
"strings"
|
||||
|
|
@ -46,8 +47,12 @@ func NewElioDateiFoo(lookUpDir string, process ElioHandleFunc) *ElioDateiFoo {
|
|||
// Warenhausnamen in eine eine Hashmap ablegen. Dopplungen mit dem spätesten Zeitpunkt behalten.
|
||||
// Veraltete Dateien mit Präfix no-import und Postifx .old benennen.
|
||||
// Gültige Dateinamen zur Extraktion in Closure übergeben.
|
||||
func (f *ElioDateiFoo) ScanCsv(data chan<- CountryCsvData) {
|
||||
func (f *ElioDateiFoo) ScanCsv(ctx context.Context, data chan<- CountryCsvData) {
|
||||
defer close(data)
|
||||
select {
|
||||
case <-ctx.Done():
|
||||
fmt.Println("Abbruch angefordert im Verarbeitungsprozess.")
|
||||
default:
|
||||
files, err := os.ReadDir(f.lookUpDir)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
|
|
@ -55,6 +60,7 @@ func (f *ElioDateiFoo) ScanCsv(data chan<- CountryCsvData) {
|
|||
|
||||
filemap := make(map[string]filedata)
|
||||
for _, file := range files {
|
||||
fmt.Printf("Lese Datei: %s\n", file)
|
||||
if !strings.Contains(file.Name(), FileExt) {
|
||||
continue
|
||||
}
|
||||
|
|
@ -91,3 +97,4 @@ func (f *ElioDateiFoo) ScanCsv(data chan<- CountryCsvData) {
|
|||
go f.process(v.filename, data)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue