cloudos.query(). Status
polling and page-result fetching are now issued concurrently via
httr2::req_perform_parallel() instead of one request at a
time. The number of in-flight requests is capped by the new
max_parallel argument, which defaults to the
cloudosR.max_parallel option and then to 10. Set
max_parallel = 1 for the previous fully sequential
behaviour.httr2 aborted on any 4xx/5xx with a bare message
such as HTTP 403 Forbidden., which meant
handle_api_error() never ran and the response body was
discarded. Statuses are now inspected by the package, and the detail is
read from JSON message/error fields
and from text/plain or text/html
bodies — the form used by gateways and reverse proxies in front of the
API. Long bodies (such as HTML error pages) are truncated.poll_all_tasks_until_complete() resolves the profile
once per call instead of re-reading the config file for every task in
every polling sweep.httr2 (>= 1.1.0) for the concurrency
cap.base_url are now stripped on save
(cloudos.configure()) and on load
(load_profile()), preventing double-slash URLs that caused
an empty response body from the server.cloudos.query_submit_count_async() — submits an
async task targeting the new query-results/count/async
endpoint (returns total row count only).cloudos.query_count_results() — fetches the
integer total from a completed count task.cloudos.query_count() — high-level orchestrator:
submit count task, poll until complete, return total row count.cloudos.query_submit_async() now targets
query-results/data/async (previously
query-results/async). Callers constructing the endpoint URL
manually must update it.cloudos.query_submit_async() gains an optional
cursor parameter for cursor-based pagination.cloudos.query_results() gains an optional
total_rows parameter; when supplied the
total_rows and total_pages data-frame
attributes are populated. A cursor attribute is also set on
the returned data frame.cloudos.query() now submits count and page-0 data tasks
concurrently, reducing end-to-end latency. All remaining-page tasks are
also polled concurrently via a shared max_wait budget.page_size and total_pages attributes
on the combined data frame returned by cloudos.query() with
all_pages = TRUE.cloudos.query() with
all_pages = TRUE. The API response field
pageSize is the rows-per-page value, not the total page
count. total_pages is now correctly derived as
ceiling(total_rows / pageSize).tools::R_user_dir() for
CRAN compliance
Need a high-speed mirror for your open-source project?
Contact our mirror admin team at info@clientvps.com.
This archive is provided as a free public service to the community.
Proudly supported by infrastructure from VPSPulse , RxServers , BuyNumber , UnitVPS , OffshoreName and secure payment technology by ArionPay.