-
Notifications
You must be signed in to change notification settings - Fork 15
Parallel Requests
Arun Prakash edited this page Dec 1, 2025
·
5 revisions
wordpress_client offers a builtβin way to execute requests in parallel via ParallelWordpress.
What you get:
- Parallel list/create/update/delete/retrieve helpers on any interface
- Stable ordering by page index for batch operations
- Simple utilities to merge results into a single iterable
To fetch first 30 pages in parallel:
final responses = await client.parallel.list(
interface: client.posts,
requestBuilder: () {
return List.generate(
30,
(index) => ParallelRequest(
page: index + 1,
request: ListPostRequest(
perPage: 15,
page: index + 1,
),
),
);
},
);The response type is Iterable<ParallelIterableResult<Post>>, where each item contains the page and the results for that page.
Need a single ordered sequence? Use the merge helper:
final merged = await client.parallel
.list<Post, ListPostRequest>(
interface: client.posts,
requestBuilder: () => /* as above */,
)
.merge(); // Iterable<Post>- Create:
client.parallel.create<T, R> - Update:
client.parallel.update<T, R> - Delete:
client.parallel.delete<R>(returnsParallelResult<bool>) - Retrieve:
client.parallel.retrieve<T, R>
All helpers accept optional transformers and exception handlers for fineβgrained control.
This depends on your site and network. Parallel often halves endβtoβend time versus sequential fetching for large page ranges.
Starting Parallel...
Parallel Time Taken: 3667 ms
Starting Sequential...
Sequential Time Taken: 7437 ms
Difference: 3770 ms (50.69%)
Tip: Converting to a single stream is also supported via
parallel_wordpress/extensions/parallel_result_exts.dart.
- π Welcome to our Wiki!
- π Usage
- π Using Custom Requests
- π‘ Authorization
- π Supported REST Methods
- π API Changelog
- π Middlewares
- π« Parallel Requests
- π§© Interfaces & Extensions
- π‘οΈ Error Handling & Responses
- βοΈ Bootstrap & Configuration
- π Events & Statistics
- π Pagination & Finders