for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace TMV\Messenger\Factory\Retry;
use Psr\Container\ContainerInterface;
use Symfony\Component\Messenger\Retry\RetryStrategyInterface;
use Zend\ServiceManager\ServiceManager;
final class RetryStrategyLocatorFactory
{
public function __invoke(ContainerInterface $container): ContainerInterface
$config = $container->has('config') ? $container->get('config') : [];
$transports = $config['messenger']['transports'] ?? [];
$factories = [];
foreach ($transports as $name => $transport) {
$factories[$name] = static function () use ($name, $container): RetryStrategyInterface {
return (new RetryStrategyFactory($name))($container);
};
}
return new ServiceManager(['factories' => $factories]);