Skip to content

feat: laravel scheduling driver, remove the Laravel scheduler bridge - #475

Merged
ogorzalka merged 2 commits into
release/v13.36.0from
feat/schedule-laravel-driver
Oct 13, 2026
Merged

ogorzalka merged 2 commits into
release/v13.36.0from
feat/schedule-laravel-driver

Conversation

@ogorzalka

Copy link
Copy Markdown
Member

Step 5 of the schedule work.

Added: the laravel driver (POLLORA_SCHEDULE_DRIVER=laravel): each event is a job delayed until due in the application's queue, the cron option is the record, a job runs only if its entry still carries its id and time. Recurring events queue their next occurrence after running or failing for good. Lost jobs are resent with the same id (pollora:schedule:recover, check at shutdown every 5 min). Delay ceiling chaining (SQS 900 s), per-site jobs on multisite, doctor reports late events / sync queue / final failures. Needs pollora/schedule ^0.1.3.

Removed (no alias): use_laravel_scheduler, Scheduler, Events/*, Jobs/JobDispatcher, RegisterSchedulerFiltersUseCase, contracts, the wp_events table. Migration path in the CHANGELOG.

Tested: 18 dedicated tests, suite 1856 pass (11 fail only for missing pdo_sqlite on the host), PHPStan, Rector, Pint; live on pollora-test with a database queue and a worker.

The laravel driver queues each event as a job delayed until it is due; the cron
option is its record. Removes use_laravel_scheduler, Scheduler, Events, Jobs\JobDispatcher,
RegisterSchedulerFiltersUseCase and the wp_events table. Adds pollora:schedule:recover.
…e engine is created

The driver is chosen while providers register, so it resolves the bus when a job is queued.
Requires pollora/schedule ^0.1.3 (Identifies).
@ogorzalka
ogorzalka merged commit b3287f6 into release/v13.36.0 Oct 13, 2026
10 checks passed
@ogorzalka
ogorzalka deleted the feat/schedule-laravel-driver branch October 13, 2026 17:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant