fix: Gitea Traefik routing and connection pool optimization
Some checks failed
🚀 Build & Deploy Image / Determine Build Necessity (push) Failing after 10m14s
🚀 Build & Deploy Image / Build Runtime Base Image (push) Has been skipped
🚀 Build & Deploy Image / Build Docker Image (push) Has been skipped
🚀 Build & Deploy Image / Run Tests & Quality Checks (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Staging (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Production (push) Has been skipped
Security Vulnerability Scan / Check for Dependency Changes (push) Failing after 11m25s
Security Vulnerability Scan / Composer Security Audit (push) Has been cancelled
Some checks failed
🚀 Build & Deploy Image / Determine Build Necessity (push) Failing after 10m14s
🚀 Build & Deploy Image / Build Runtime Base Image (push) Has been skipped
🚀 Build & Deploy Image / Build Docker Image (push) Has been skipped
🚀 Build & Deploy Image / Run Tests & Quality Checks (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Staging (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Production (push) Has been skipped
Security Vulnerability Scan / Check for Dependency Changes (push) Failing after 11m25s
Security Vulnerability Scan / Composer Security Audit (push) Has been cancelled
- Remove middleware reference from Gitea Traefik labels (caused routing issues) - Optimize Gitea connection pool settings (MAX_IDLE_CONNS=30, authentication_timeout=180s) - Add explicit service reference in Traefik labels - Fix intermittent 504 timeouts by improving PostgreSQL connection handling Fixes Gitea unreachability via git.michaelschiemer.de
This commit is contained in:
@@ -3,19 +3,37 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Framework\ExceptionHandling;
|
||||
|
||||
use App\Framework\Config\EnvironmentType;
|
||||
use App\Framework\ExceptionHandling\Strategy\ErrorPolicyResolver;
|
||||
|
||||
/**
|
||||
* Manages global exception, error, and shutdown handlers
|
||||
*
|
||||
* Supports early registration with basic handlers before Discovery,
|
||||
* and replacement with full handlers after Discovery.
|
||||
*/
|
||||
final readonly class ExceptionHandlerManager
|
||||
{
|
||||
public function __construct()
|
||||
public function __construct(
|
||||
private ErrorHandlerInterface $errorHandler,
|
||||
private ExceptionHandler $exceptionHandler,
|
||||
private ShutdownHandlerInterface $shutdownHandler
|
||||
) {
|
||||
$this->registerErrorHandler($this->errorHandler);
|
||||
$this->registerExceptionHandler($this->exceptionHandler);
|
||||
$this->registerShutdownHandler($this->shutdownHandler);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create ExceptionHandlerManager with basic handlers for early registration
|
||||
*
|
||||
* This factory method creates a manager with minimal handlers that don't
|
||||
* require full dependencies. Useful for registering handlers before Discovery.
|
||||
*/
|
||||
public static function createWithBasicHandlers(): self
|
||||
{
|
||||
$resolver = new ErrorPolicyResolver();
|
||||
$this->registerErrorHandler(new ErrorHandler($resolver->resolve(EnvironmentType::DEV)));
|
||||
|
||||
$this->registerExceptionHandler(new GlobalExceptionHandler());
|
||||
|
||||
$this->registerShutdownHandler(new ShutdownHandler());
|
||||
return new self(
|
||||
new BasicErrorHandler(),
|
||||
new BasicGlobalExceptionHandler(),
|
||||
new BasicShutdownHandler()
|
||||
);
|
||||
}
|
||||
|
||||
public function registerExceptionHandler(ExceptionHandler $handler): void
|
||||
@@ -23,12 +41,12 @@ final readonly class ExceptionHandlerManager
|
||||
set_exception_handler($handler->handle(...));
|
||||
}
|
||||
|
||||
private function registerErrorHandler(ErrorHandler $handler):void
|
||||
private function registerErrorHandler(ErrorHandlerInterface $handler): void
|
||||
{
|
||||
set_error_handler($handler->handle(...), E_ALL);
|
||||
}
|
||||
|
||||
public function registerShutdownHandler(ShutdownHandler $handler): void
|
||||
public function registerShutdownHandler(ShutdownHandlerInterface $handler): void
|
||||
{
|
||||
register_shutdown_function($handler->handle(...));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user