Improved single_file processor, refactoring

Reduce inlined image size, get page metadata before save and put into processing queue
This commit is contained in:
2023-11-24 14:25:17 +03:00
parent 7e53519ca0
commit 870f13f7bf
14 changed files with 325 additions and 96 deletions

View File

@@ -10,13 +10,14 @@ import (
"sync"
"time"
"github.com/derfenix/webarchive/adapters/repository"
"github.com/dgraph-io/badger/v4"
"github.com/ogen-go/ogen/middleware"
"go.uber.org/multierr"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
"github.com/derfenix/webarchive/adapters/repository"
"github.com/derfenix/webarchive/adapters/processors"
badgerRepo "github.com/derfenix/webarchive/adapters/repository/badger"
"github.com/derfenix/webarchive/api/openapi"
@@ -41,7 +42,7 @@ func NewApplication(cfg config.Config) (Application, error) {
return Application{}, fmt.Errorf("new page repo: %w", err)
}
processor, err := processors.NewProcessors(cfg)
processor, err := processors.NewProcessors(cfg, log.Named("processor"))
if err != nil {
return Application{}, fmt.Errorf("new processors: %w", err)
}
@@ -50,7 +51,7 @@ func NewApplication(cfg config.Config) (Application, error) {
worker := entity.NewWorker(workerCh, pageRepo, processor, log.Named("worker"))
server, err := openapi.NewServer(
rest.NewService(pageRepo, workerCh),
rest.NewService(pageRepo, workerCh, processor),
openapi.WithPathPrefix("/api/v1"),
openapi.WithMiddleware(
func(r middleware.Request, next middleware.Next) (middleware.Response, error) {
@@ -190,6 +191,7 @@ func newLogger(cfg config.Logging) (*zap.Logger, error) {
logCfg.EncoderConfig.EncodeTime = zapcore.RFC3339TimeEncoder
logCfg.EncoderConfig.EncodeDuration = zapcore.NanosDurationEncoder
logCfg.DisableCaller = true
logCfg.DisableStacktrace = true
logCfg.Level = zap.NewAtomicLevelAt(zapcore.InfoLevel)
if cfg.Debug {