feat(backend): fixed big file log in storage

This commit is contained in:
Alexander Zavorotynskiy 2022-12-13 17:28:52 +01:00
parent 22386cf59f
commit 19b6c896b9
2 changed files with 13 additions and 5 deletions

View file

@ -45,7 +45,7 @@ func main() {
func(msg messages.Message) {
sesEnd := msg.(*messages.SessionEnd)
if err := srv.Upload(sesEnd); err != nil {
log.Printf("can't find session: %d", msg.SessionID())
log.Printf("upload session err: %s, sessID: %d", err, msg.SessionID())
sessionFinder.Find(msg.SessionID(), sesEnd.Timestamp)
}
// Log timestamp of last processed session

View file

@ -12,6 +12,7 @@ import (
"openreplay/backend/pkg/storage"
"os"
"strconv"
"strings"
"sync"
)
@ -105,22 +106,29 @@ func (s *Storage) Upload(msg *messages.SessionEnd) (err error) {
wg.Add(2)
go func() {
if prepErr := s.prepareSession(filePath, DOM, newTask); prepErr != nil {
err = fmt.Errorf("prepare session err: %s", prepErr)
err = fmt.Errorf("prepareSession err: %s", prepErr)
}
wg.Done()
}()
go func() {
if prepErr := s.prepareSession(filePath, DOM, newTask); prepErr != nil {
err = fmt.Errorf("prepare session err: %s", prepErr)
if prepErr := s.prepareSession(filePath, DEV, newTask); prepErr != nil {
err = fmt.Errorf("prepareSession err: %s", prepErr)
}
wg.Done()
}()
wg.Wait()
if err != nil {
if strings.Contains(err.Error(), "big file") {
log.Printf("%s, sess: %d", err, msg.SessionID())
return nil
}
return err
}
// Send new task to worker
s.tasks <- newTask
// Unload worker
<-s.ready
return err
return nil
}
func (s *Storage) openSession(filePath string) ([]byte, error) {