Timezone por DI

This commit is contained in:
Juan Pablo Vial
2025-05-27 16:19:47 -04:00
parent aed26cfcd8
commit b7089f7a1c
3 changed files with 10 additions and 6 deletions

View File

@ -15,7 +15,8 @@ return [
Incoviba\Command\BaseLoop::class => function(ContainerInterface $container) { Incoviba\Command\BaseLoop::class => function(ContainerInterface $container) {
return new Incoviba\Command\BaseLoop( return new Incoviba\Command\BaseLoop(
$container->get('LoopLogger'), $container->get('LoopLogger'),
$container->get(Incoviba\Service\Schedule::class) $container->get(Incoviba\Service\Schedule::class),
$container->get(DateTimeZone::class),
); );
} }
]; ];

View File

@ -15,12 +15,12 @@ use Incoviba\Service\Schedule;
)] )]
class BaseLoop extends Console\Command\Command class BaseLoop extends Console\Command\Command
{ {
public function __construct(protected LoggerInterface $logger, protected Schedule $scheduleService, ?string $name = null) public function __construct(protected LoggerInterface $logger, protected Schedule $scheduleService,
protected DateTimeZone $timezone,
?string $name = null)
{ {
parent::__construct($name); parent::__construct($name);
$this->timezone = new DateTimeZone($_ENV['TZ'] ?? 'America/Santiago');
} }
protected DateTimeZone $timezone;
public function execute(Console\Input\InputInterface $input, Console\Output\OutputInterface $output): int public function execute(Console\Input\InputInterface $input, Console\Output\OutputInterface $output): int
{ {
@ -59,6 +59,7 @@ class BaseLoop extends Console\Command\Command
$command = $this->getApplication()->find($commandName); $command = $this->getApplication()->find($commandName);
} catch (Console\Exception\CommandNotFoundException $exception) { } catch (Console\Exception\CommandNotFoundException $exception) {
$this->logger->warning($exception); $this->logger->warning($exception);
return self::FAILURE;
} }
$cmd = new Console\Input\ArrayInput([ $cmd = new Console\Input\ArrayInput([

View File

@ -16,7 +16,9 @@ use Incoviba\Common\Alias\Command;
class Queue extends Command class Queue extends Command
{ {
public function __construct(ClientInterface $client, LoggerInterface $logger, public function __construct(ClientInterface $client, LoggerInterface $logger,
protected Job $jobService, ?string $name = null) protected Job $jobService,
protected DateTimeZone $timezone,
?string $name = null)
{ {
parent::__construct($client, $logger, $name); parent::__construct($client, $logger, $name);
} }
@ -25,7 +27,7 @@ class Queue extends Command
{ {
$this->logger->debug("Running {$this->getName()}"); $this->logger->debug("Running {$this->getName()}");
$io = new Console\Style\SymfonyStyle($input, $output); $io = new Console\Style\SymfonyStyle($input, $output);
$now = new DateTimeImmutable('now', new DateTimeZone($_ENV['TZ'] ?? 'America/Santiago')); $now = new DateTimeImmutable('now', $this->timezone);
$io->title("[{$now->format('Y-m-d H:i:s e')}] Running Queue..."); $io->title("[{$now->format('Y-m-d H:i:s e')}] Running Queue...");
$jobs = $this->getJobs($output); $jobs = $this->getJobs($output);