Laravel 9.27, weekly updates, and 🔥 tip
Laravel 9.27
A couple minor features this week bumping us to Laravel 9.27. Here are the highlights:
- Translation of the default message of the validator in #43837
- Prompt to create SQLite database in #43867
- Call
prepare()
onHttpException
responses in #43895 - Make the
model:prune
easier to extend in #43919
You may review the full branch diff on GitHub for a complete list of changes.
This version bump and update is automated for subscribers to a Shifty Plan. If you don't have one of those, be sure to bump your constraint and run composer update
to get the latest features.
Weekly Journal
Last week I launched spawning additional worker servers dynamically based on queue load. I continued to monitor this as the week went on. I also added some additional logic to immediately spawn multiple workers whenever Laravel tags a new release. This seemed to work well for today's release.
I also wrote a blog post on this feature. It focuses more on the backstory, as well as the business decisions to implement it. Of course, if you're interested in the development, you may watch the live streams.
I spent the end of the week improving Shift's automation based on feedback from support emails. These included tweaks to the Vite Converter, Tests Generator, and some Workbench tasks.
This week is a bit light for me. No Human Shifts at the moment. So I have more free time. I've been using it to continue development of the curl
converter which I started in last week's live stream. I hope to get all the tests passing in this week's live stream and tag the initial release.
🔥 Tip
As a follow up to last week's tip about testing jobs which spawn other jobs, Sonny Spaan replied that you may pass which jobs to fake.
This is definitely a better solution than my manual invocation of a job's handle
method. While it works, it's only for simple jobs. If you were using dependency injection, you would have to also set that up manually.
So, as always, doing things the Laravel Way is preferred. However, I think there's an opportunity to pass which jobs to exclude. Passing which jobs to fake doesn't prevent other, unexpected jobs from running. When mocking, it's best to lock down the environment as much as possible. Maybe I'll create a PR for this in a future live stream.