Closed jasonvarga closed 3 years ago
Ah spatie/fork requires php8. 🤔
Maybe it could just check if fork is installed (might need to be done separately) and if you're running PHP 8 when someone provides the additional param.
Although, I'm not sure if that would work....
Yeah either we just bump the PHP requirement of ssg to 8, or do that.
Okay I've made it so that you can only use concurrency if you manually install spatie/fork
.
This PR uses Spatie's fork package to split the content file generation into as many chunks as you request. Each chunk will run at the same time.
You must have
spatie/fork
installed, which requires PHP 8.You can specify how many "workers" should be used with an option.
Each worker will spawn a separate PHP process, so you should only use as many workers as you have CPU cores.
The console output has been adjusted a little to cope with the concurrency. Rather than output each line, you get a single line that is constantly updating, and you will see all the errors right at the end.
If you don't have
spatie/fork
installed, it'll tell you:If you use
--workers=1
(for some reason) or don't specify the option at all, it'll happily just chug along without concurrency.Fixes #16