Skip to content

v13.7.0.4

@webpatser webpatser tagged this 02 May 06:26
The previous binding swap in ScheduleServiceProvider::register() did
not take effect: Laravel's ArtisanServiceProvider is a deferred
provider, and its lazy registration re-bound
Illuminate\Console\Scheduling\ScheduleWorkCommand to its own
auto-resolution after the Fledge provider's register() ran.

The fix registers the Fledge subclass via $this->commands([...]) in
boot(). That queues a Console\Application::starting callback that
runs after the framework's; Symfony Console's Application::add()
overwrites by command name, so the Fledge subclass wins for
schedule:work.

Smoke-tested end-to-end against the webpatser/fledge skeleton:
schedule:work boots, schedule:terminate flips the cache flag, the
daemon drains its in-flight schedule:run subprocess and exits 0
with "Schedule worker terminated.".
Assets 2
Loading