From 9af72d3666db8ff97699bf0b5a743cad7e0ad4e6 Mon Sep 17 00:00:00 2001 From: Dries Vints Date: Tue, 16 Mar 2021 18:00:23 +0100 Subject: [PATCH] Move booting of services (#990) --- src/HorizonServiceProvider.php | 104 ++++++++++++++++----------------- 1 file changed, 52 insertions(+), 52 deletions(-) diff --git a/src/HorizonServiceProvider.php b/src/HorizonServiceProvider.php index 8b89adbe..08980e17 100644 --- a/src/HorizonServiceProvider.php +++ b/src/HorizonServiceProvider.php @@ -23,6 +23,8 @@ public function boot() $this->registerRoutes(); $this->registerResources(); $this->defineAssetPublishing(); + $this->offerPublishing(); + $this->registerCommands(); } /** @@ -81,17 +83,53 @@ public function defineAssetPublishing() } /** - * Register the custom queue connectors for Horizon. + * Setup the resource publishing groups for Horizon. * * @return void */ - protected function registerQueueConnectors() + protected function offerPublishing() { - $this->app->resolving(QueueManager::class, function ($manager) { - $manager->addConnector('redis', function () { - return new RedisConnector($this->app['redis']); - }); - }); + if ($this->app->runningInConsole()) { + $this->publishes([ + __DIR__.'/../stubs/HorizonServiceProvider.stub' => app_path('Providers/HorizonServiceProvider.php'), + ], 'horizon-provider'); + + $this->publishes([ + __DIR__.'/../config/horizon.php' => config_path('horizon.php'), + ], 'horizon-config'); + } + } + + /** + * Register the Horizon Artisan commands. + * + * @return void + */ + protected function registerCommands() + { + if ($this->app->runningInConsole()) { + $this->commands([ + Console\ClearCommand::class, + Console\ContinueCommand::class, + Console\ContinueSupervisorCommand::class, + Console\ForgetFailedCommand::class, + Console\HorizonCommand::class, + Console\InstallCommand::class, + Console\ListCommand::class, + Console\PauseCommand::class, + Console\PauseSupervisorCommand::class, + Console\PublishCommand::class, + Console\PurgeCommand::class, + Console\StatusCommand::class, + Console\SupervisorCommand::class, + Console\SupervisorsCommand::class, + Console\TerminateCommand::class, + Console\TimeoutCommand::class, + Console\WorkCommand::class, + ]); + } + + $this->commands([Console\SnapshotCommand::class]); } /** @@ -110,9 +148,7 @@ public function register() }); $this->configure(); - $this->offerPublishing(); $this->registerServices(); - $this->registerCommands(); $this->registerQueueConnectors(); } @@ -130,24 +166,6 @@ protected function configure() Horizon::use(config('horizon.use', 'default')); } - /** - * Setup the resource publishing groups for Horizon. - * - * @return void - */ - protected function offerPublishing() - { - if ($this->app->runningInConsole()) { - $this->publishes([ - __DIR__.'/../stubs/HorizonServiceProvider.stub' => app_path('Providers/HorizonServiceProvider.php'), - ], 'horizon-provider'); - - $this->publishes([ - __DIR__.'/../config/horizon.php' => config_path('horizon.php'), - ], 'horizon-config'); - } - } - /** * Register Horizon's services in the container. * @@ -163,34 +181,16 @@ protected function registerServices() } /** - * Register the Horizon Artisan commands. + * Register the custom queue connectors for Horizon. * * @return void */ - protected function registerCommands() + protected function registerQueueConnectors() { - if ($this->app->runningInConsole()) { - $this->commands([ - Console\ClearCommand::class, - Console\ContinueCommand::class, - Console\ContinueSupervisorCommand::class, - Console\ForgetFailedCommand::class, - Console\HorizonCommand::class, - Console\InstallCommand::class, - Console\ListCommand::class, - Console\PauseCommand::class, - Console\PauseSupervisorCommand::class, - Console\PublishCommand::class, - Console\PurgeCommand::class, - Console\StatusCommand::class, - Console\SupervisorCommand::class, - Console\SupervisorsCommand::class, - Console\TerminateCommand::class, - Console\TimeoutCommand::class, - Console\WorkCommand::class, - ]); - } - - $this->commands([Console\SnapshotCommand::class]); + $this->app->resolving(QueueManager::class, function ($manager) { + $manager->addConnector('redis', function () { + return new RedisConnector($this->app['redis']); + }); + }); } }