diff --git a/pkg/jsonl/reader.go b/pkg/jsonl/reader.go deleted file mode 100644 index 03f5d64b..00000000 --- a/pkg/jsonl/reader.go +++ /dev/null @@ -1,49 +0,0 @@ -package jsonl - -import ( - "bufio" - "encoding/json" - "fmt" - "io" -) - -type Reader struct { - r io.Reader - scanner *bufio.Scanner -} - -func NewReader(r io.Reader) Reader { - scanner := bufio.NewScanner(r) - scanner.Split(bufio.ScanLines) - - return Reader{ - r: r, - scanner: scanner, - } -} - -func (r Reader) Close() error { - if c, ok := r.r.(io.ReadCloser); ok { - return c.Close() - } - return fmt.Errorf("given reader is no ReadCloser") -} - -func (r Reader) ReadSingleLine(output interface{}) error { - ok := r.scanner.Scan() - if !ok { - return fmt.Errorf("could not read from scanner. Scanner done") - } - - return json.Unmarshal(r.scanner.Bytes(), output) -} - -func (r Reader) ReadLines(callback func(data []byte) error) error { - for r.scanner.Scan() { - err := callback(r.scanner.Bytes()) - if err != nil { - return fmt.Errorf("error in callback: %w", err) - } - } - return nil -} diff --git a/pkg/jsonl/writer.go b/pkg/jsonl/writer.go deleted file mode 100644 index d13557a1..00000000 --- a/pkg/jsonl/writer.go +++ /dev/null @@ -1,48 +0,0 @@ -package jsonl - -import ( - "encoding/json" - "fmt" - "io" - "net/http" -) - -type Writer struct { - w io.Writer -} - -func NewWriter(w io.Writer) Writer { - return Writer{ - w: w, - } -} - -func (w Writer) Close() error { - if c, ok := w.w.(io.WriteCloser); ok { - return c.Close() - } - return fmt.Errorf("given writer is no WriteCloser") -} - -func (w Writer) Write(data interface{}) error { - j, err := json.Marshal(data) - if err != nil { - return fmt.Errorf("could not json marshal data: %w", err) - } - - _, err = w.w.Write(j) - if err != nil { - return fmt.Errorf("could not write json data to underlying io.Writer: %w", err) - } - - _, err = w.w.Write([]byte("\n")) - if err != nil { - return fmt.Errorf("could not write newline to underlying io.Writer: %w", err) - } - - if f, ok := w.w.(http.Flusher); ok { - // If http writer, flush as well - f.Flush() - } - return nil -} diff --git a/pkg/solver/store/db/db.go b/pkg/solver/store/db/db.go index 1f474829..5030338b 100644 --- a/pkg/solver/store/db/db.go +++ b/pkg/solver/store/db/db.go @@ -14,8 +14,6 @@ import ( type SolverStoreDatabase struct { db *gorm.DB - // TODO Log writers? - // logWriters map[string]jsonl.Writer } func NewSolverStoreDatabase(connStr string, silenceLogs bool) (*SolverStoreDatabase, error) { diff --git a/pkg/solver/store/memory/store.go b/pkg/solver/store/memory/store.go index d7460b6d..a149e5ce 100644 --- a/pkg/solver/store/memory/store.go +++ b/pkg/solver/store/memory/store.go @@ -6,7 +6,6 @@ import ( "sync" "github.com/lilypad-tech/lilypad/pkg/data" - "github.com/lilypad-tech/lilypad/pkg/jsonl" "github.com/lilypad-tech/lilypad/pkg/solver/store" ) @@ -17,23 +16,15 @@ type SolverStoreMemory struct { resultMap map[string]*data.Result matchDecisionMap map[string]*data.MatchDecision mutex sync.RWMutex - logWriters map[string]jsonl.Writer } func NewSolverStoreMemory() (*SolverStoreMemory, error) { - kinds := []string{"job_offers", "resource_offers", "deals", "decisions", "results"} - logWriters, err := store.GetLogWriters(kinds) - if err != nil { - return nil, err - } - return &SolverStoreMemory{ jobOfferMap: map[string]*data.JobOfferContainer{}, resourceOfferMap: map[string]*data.ResourceOfferContainer{}, dealMap: map[string]*data.DealContainer{}, resultMap: map[string]*data.Result{}, matchDecisionMap: map[string]*data.MatchDecision{}, - logWriters: logWriters, }, nil } @@ -42,7 +33,6 @@ func (s *SolverStoreMemory) AddJobOffer(jobOffer data.JobOfferContainer) (*data. defer s.mutex.Unlock() s.jobOfferMap[jobOffer.ID] = &jobOffer - s.logWriters["job_offers"].Write(jobOffer) return &jobOffer, nil } @@ -51,7 +41,6 @@ func (s *SolverStoreMemory) AddResourceOffer(resourceOffer data.ResourceOfferCon defer s.mutex.Unlock() s.resourceOfferMap[resourceOffer.ID] = &resourceOffer - s.logWriters["resource_offers"].Write(resourceOffer) return &resourceOffer, nil } @@ -59,7 +48,7 @@ func (s *SolverStoreMemory) AddDeal(deal data.DealContainer) (*data.DealContaine s.mutex.Lock() defer s.mutex.Unlock() s.dealMap[deal.ID] = &deal - s.logWriters["deals"].Write(deal) + return &deal, nil } @@ -67,7 +56,7 @@ func (s *SolverStoreMemory) AddResult(result data.Result) (*data.Result, error) s.mutex.Lock() defer s.mutex.Unlock() s.resultMap[result.DealID] = &result - s.logWriters["results"].Write(result) + return &result, nil } @@ -86,7 +75,7 @@ func (s *SolverStoreMemory) AddMatchDecision(resourceOffer string, jobOffer stri Result: result, } s.matchDecisionMap[id] = decision - s.logWriters["decisions"].Write(decision) + return decision, nil } diff --git a/pkg/solver/store/store.go b/pkg/solver/store/store.go index 0b637963..00a9132b 100644 --- a/pkg/solver/store/store.go +++ b/pkg/solver/store/store.go @@ -2,10 +2,8 @@ package store import ( "fmt" - "os" "github.com/lilypad-tech/lilypad/pkg/data" - "github.com/lilypad-tech/lilypad/pkg/jsonl" ) type GetJobOffersQuery struct { @@ -86,17 +84,3 @@ type SolverStore interface { func GetMatchID(resourceOffer string, jobOffer string) string { return fmt.Sprintf("%s-%s", resourceOffer, jobOffer) } - -func GetLogWriters(kinds []string) (map[string]jsonl.Writer, error) { - logWriters := make(map[string]jsonl.Writer) - - for k := range kinds { - logfile, err := os.OpenFile(fmt.Sprintf("/var/tmp/lilypad_%s.jsonl", kinds[k]), os.O_APPEND|os.O_WRONLY|os.O_CREATE, 0644) - if err != nil { - return nil, err - } - logWriters[kinds[k]] = jsonl.NewWriter(logfile) - } - - return logWriters, nil -}