From 5339e1df5016504384915e97c32408842de0e8db Mon Sep 17 00:00:00 2001 From: Sam Albers Date: Tue, 12 Dec 2023 10:34:39 -0800 Subject: [PATCH 1/3] add retries --- DESCRIPTION | 2 +- NEWS.md | 3 +++ R/session.R | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index f73982c..fdefcc8 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: conbenchcoms Title: An API wrapper for conbench communications -Version: 0.0.9 +Version: 0.0.10 Authors@R: c( person("Jonathan", "Keane", , "jon@voltrondata.com", role = c("aut", "ctb"), comment = c(ORCID = "0000-0001-7087-9776")), diff --git a/NEWS.md b/NEWS.md index 8641c0f..c839d3a 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,6 @@ +# combenchcoms 0.0.10 +* Add httr2's baked in retry strategy to all api calls + # conbenchcoms 0.0.9 * Remove `compare` function * Add `compare_results` function (similar to old `compare` but only works for comparing benchmark results) diff --git a/R/session.R b/R/session.R index f1e4187..5036dbc 100644 --- a/R/session.R +++ b/R/session.R @@ -16,6 +16,7 @@ conbench_perform <- function(data, ...) { resp <- data |> req_error(is_error = function(resp) FALSE) |> req_headers(cookie = .conbench_session$cookie) |> + req_retry(max_tries = 5) |> req_perform(...) # Authenticate if we need to @@ -25,6 +26,7 @@ conbench_perform <- function(data, ...) { resp <- data |> req_error(body = error_body) |> req_headers(cookie = .conbench_session$cookie) |> + req_retry(max_tries = 5) |> req_perform(...) resp From d755a82a8e011716b67229083fa0426cf91cc1ee Mon Sep 17 00:00:00 2001 From: Sam Albers Date: Tue, 12 Dec 2023 10:53:23 -0800 Subject: [PATCH 2/3] add information message when loading conbenchcoms --- R/conbench_info.R | 16 ++++++++++++++++ R/zzz.R | 16 ++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 R/conbench_info.R create mode 100644 R/zzz.R diff --git a/R/conbench_info.R b/R/conbench_info.R new file mode 100644 index 0000000..94523a1 --- /dev/null +++ b/R/conbench_info.R @@ -0,0 +1,16 @@ +#' Get a list of conbench info +#' +#' @return the response +#' @export + +conbench_info <- function() { + req <- req_url_path_append(conbench_request(), "ping") + + resp <- conbench_perform(req) + + dat <- resp_body_json(resp, simplifyVector = TRUE, flatten = TRUE) + + dat[["date"]] <- NULL + + dat +} diff --git a/R/zzz.R b/R/zzz.R new file mode 100644 index 0000000..600e113 --- /dev/null +++ b/R/zzz.R @@ -0,0 +1,16 @@ +.onAttach <- function(libname, pkgname) { + if (interactive()) { + load_msg <- tryCatch({ + msg <- conbench_info() + cat( + paste0( + "Conbench server information\n", + paste0(" - ", names(msg),": ", msg, collapse = "\n") + ), + "\n") + }, error = function(e) { + "No available conbench info" + }) + return(packageStartupMessage(load_msg)) + } +} From 4dcfaac6d97d15e95298ac21052acf86589db98d Mon Sep 17 00:00:00 2001 From: Sam Albers Date: Tue, 12 Dec 2023 11:03:00 -0800 Subject: [PATCH 3/3] fix msg --- NAMESPACE | 1 + R/zzz.R | 27 +++++++++++++++------------ man/conbench_info.Rd | 14 ++++++++++++++ 3 files changed, 30 insertions(+), 12 deletions(-) create mode 100644 man/conbench_info.Rd diff --git a/NAMESPACE b/NAMESPACE index 008942b..28948b2 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -4,6 +4,7 @@ export(benchmark_results) export(benchmarks) export(compare_results) export(compare_runs) +export(conbench_info) export(conbench_perform) export(conbench_request) export(hardware) diff --git a/R/zzz.R b/R/zzz.R index 600e113..8cd4190 100644 --- a/R/zzz.R +++ b/R/zzz.R @@ -1,16 +1,19 @@ .onAttach <- function(libname, pkgname) { if (interactive()) { - load_msg <- tryCatch({ - msg <- conbench_info() - cat( - paste0( - "Conbench server information\n", - paste0(" - ", names(msg),": ", msg, collapse = "\n") - ), - "\n") - }, error = function(e) { - "No available conbench info" - }) - return(packageStartupMessage(load_msg)) + load_msg <- tryCatch( + { + msg <- conbench_info() + packageStartupMessage( + paste0( + "Conbench server information\n", + paste0(" - ", names(msg), ": ", msg, collapse = "\n") + ), + "\n" + ) + }, + error = function(e) { + packageStartupMessage("No available conbench info") + } + ) } } diff --git a/man/conbench_info.Rd b/man/conbench_info.Rd new file mode 100644 index 0000000..7cbb874 --- /dev/null +++ b/man/conbench_info.Rd @@ -0,0 +1,14 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/conbench_info.R +\name{conbench_info} +\alias{conbench_info} +\title{Get a list of conbench info} +\usage{ +conbench_info() +} +\value{ +the response +} +\description{ +Get a list of conbench info +}