Running in parallel with Laravel Concurrency
stdio mode
Starting a separate process for each call is wasteful, but this is the only pattern that worked. Since Concurrency serializes complex objects internally, return only thecontent() string rather than the SessionEvent class.
TCP mode
You’d expect it to be faster since there’s no process startup, but in practice it wasn’t much different. With the Process driver, either mode often times out at 60 seconds. On the CLI-onlyfork driver, only one of them succeeded. Exceptions don’t cause all of them to fail together. Because only gpt-5 was failing, switching to gpt-5.2 succeeded for both — it may have simply been a model response-time issue.
Concurrency exists as a feature, but whether it’s practical is unclear. For long-running work, use queues.
For the latest updates, see the GitHub repository.