- Add comprehensive health check system with multiple endpoints - Add Prometheus metrics endpoint - Add production logging configurations (5 strategies) - Add complete deployment documentation suite: * QUICKSTART.md - 30-minute deployment guide * DEPLOYMENT_CHECKLIST.md - Printable verification checklist * DEPLOYMENT_WORKFLOW.md - Complete deployment lifecycle * PRODUCTION_DEPLOYMENT.md - Comprehensive technical reference * production-logging.md - Logging configuration guide * ANSIBLE_DEPLOYMENT.md - Infrastructure as Code automation * README.md - Navigation hub * DEPLOYMENT_SUMMARY.md - Executive summary - Add deployment scripts and automation - Add DEPLOYMENT_PLAN.md - Concrete plan for immediate deployment - Update README with production-ready features All production infrastructure is now complete and ready for deployment.
36 lines
1.0 KiB
PHP
36 lines
1.0 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Framework\Queue\Initializers;
|
|
|
|
use App\Framework\Database\ConnectionInterface;
|
|
use App\Framework\DI\Container;
|
|
use App\Framework\DI\Initializer;
|
|
use App\Framework\Logging\Logger;
|
|
use App\Framework\Queue\Interfaces\DistributedLockInterface;
|
|
use App\Framework\Queue\Services\JobDistributionService;
|
|
use App\Framework\Queue\Services\WorkerRegistry;
|
|
|
|
/**
|
|
* Job Distribution Service Initializer
|
|
*/
|
|
final readonly class JobDistributionInitializer
|
|
{
|
|
#[Initializer]
|
|
public function __invoke(Container $container): JobDistributionService
|
|
{
|
|
$workerRegistry = $container->get(WorkerRegistry::class);
|
|
$distributedLock = $container->get(DistributedLockInterface::class);
|
|
$connection = $container->get(ConnectionInterface::class);
|
|
$logger = $container->get(Logger::class);
|
|
|
|
return new JobDistributionService(
|
|
workerRegistry: $workerRegistry,
|
|
distributedLock: $distributedLock,
|
|
connection: $connection,
|
|
logger: $logger
|
|
);
|
|
}
|
|
}
|