feat: panic recover
This commit is contained in:
parent
6f23d6a711
commit
ca151d128f
@ -7,6 +7,10 @@ GRPC_PORT=8081
|
|||||||
|
|
||||||
YOOMONEY_STORE_ID=storeid
|
YOOMONEY_STORE_ID=storeid
|
||||||
YOOMONEY_SECRET_KEY=secret
|
YOOMONEY_SECRET_KEY=secret
|
||||||
|
IS_MOCK=true
|
||||||
|
MOCK_SERVICE_HOST=http://treasurer-mock:8080
|
||||||
|
YOOMONEY_WEBHOOKS_URL=http://treasurer-mock:8080/webhooks
|
||||||
|
YOOMONEY_PAYMENTS_URL=http://treasurer-mock:8080/payments
|
||||||
|
|
||||||
MONGO_HOST=mongo
|
MONGO_HOST=mongo
|
||||||
MONGO_PORT=27017
|
MONGO_PORT=27017
|
||||||
|
@ -2,6 +2,7 @@ package app
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -19,7 +20,14 @@ const (
|
|||||||
shutdownTimeout = 5 * time.Second
|
shutdownTimeout = 5 * time.Second
|
||||||
)
|
)
|
||||||
|
|
||||||
func Run(ctx context.Context, config *models.Config, logger *zap.Logger) error {
|
func Run(ctx context.Context, config *models.Config, logger *zap.Logger) (appErr error) {
|
||||||
|
defer func() {
|
||||||
|
if recovered := recover(); recovered != nil {
|
||||||
|
appErr = errors.New("recovered panic on application run")
|
||||||
|
logger.Error("recovered panic on application run", zap.Any("recovered", recovered))
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
mongoDB, connectionErr := mongo.Connect(ctx, &mongo.ConnectDeps{
|
mongoDB, connectionErr := mongo.Connect(ctx, &mongo.ConnectDeps{
|
||||||
Configuration: &config.Database,
|
Configuration: &config.Database,
|
||||||
Timeout: 10 * time.Second,
|
Timeout: 10 * time.Second,
|
||||||
@ -56,6 +64,7 @@ func Run(ctx context.Context, config *models.Config, logger *zap.Logger) error {
|
|||||||
Repositories: *repositories,
|
Repositories: *repositories,
|
||||||
Clients: *clients,
|
Clients: *clients,
|
||||||
ConfigurationHTTP: &config.HTTP,
|
ConfigurationHTTP: &config.HTTP,
|
||||||
|
Configuration: &config.Service,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err.Wrap("failed to initialize services")
|
return err.Wrap("failed to initialize services")
|
||||||
@ -93,9 +102,7 @@ func Run(ctx context.Context, config *models.Config, logger *zap.Logger) error {
|
|||||||
|
|
||||||
httpServer.Register(api)
|
httpServer.Register(api)
|
||||||
|
|
||||||
grpcServer, err := server.NewGRPC(server.DepsGRPC{
|
grpcServer, err := server.NewGRPC(server.DepsGRPC{Logger: logger})
|
||||||
Logger: logger,
|
|
||||||
})
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err.Wrap("failed to initialize grpc server")
|
return err.Wrap("failed to initialize grpc server")
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user