provides, true ); } /** * Registers the classes in the container * * @return void */ public function register(): void { $factories = [ $this->getContainer()->get( 'rucss_factory' ), ]; $this->getContainer()->add( 'wpr_clock', WPRClock::class ); $this->getContainer()->add( 'retry_strategy_context', RetryContext::class ); $this->getContainer()->add( 'retry_strategy_factory', StrategyFactory::class ) ->addArgument( 'wpr_clock' ); $this->getContainer()->add( 'queue', Queue::class ); $this->getContainer()->add( 'api_client', APIClient::class ) ->addArgument( 'options' ); $this->getContainer()->addShared( 'job_processor', JobProcessor::class ) ->addArguments( [ $factories, 'queue', 'retry_strategy_factory', 'api_client', 'wpr_clock', ] ); $this->getContainer()->addShared( 'cron_subscriber', CronSubscriber::class ) ->addArguments( [ 'job_processor', $factories, ] ); } }