diff --git a/src/Illuminate/Foundation/Configuration/ApplicationBuilder.php b/src/Illuminate/Foundation/Configuration/ApplicationBuilder.php index 37187367049b..0e8f1913eb51 100644 --- a/src/Illuminate/Foundation/Configuration/ApplicationBuilder.php +++ b/src/Illuminate/Foundation/Configuration/ApplicationBuilder.php @@ -3,6 +3,8 @@ namespace Illuminate\Foundation\Configuration; use Closure; +use Illuminate\Console\Application as Artisan; +use Illuminate\Console\Scheduling\Schedule; use Illuminate\Contracts\Console\Kernel as ConsoleKernel; use Illuminate\Contracts\Http\Kernel as HttpKernel; use Illuminate\Foundation\Application; @@ -280,6 +282,21 @@ protected function withCommandRouting(array $paths) }); } + /** + * Register the scheduled tasks for the application. + * + * @param callable(Schedule $schedule): void $callback + * @return $this + */ + public function withSchedule(callable $callback) + { + $this->app->afterResolving(ConsoleKernel::class, function (ConsoleKernel $kernel) use ($callback) { + Artisan::starting(fn () => $callback($this->app->make(Schedule::class))); + }); + + return $this; + } + /** * Register and configure the application's exception handler. *