From f0a7cd453214646b90d8fe84b8750872d4e1f6be Mon Sep 17 00:00:00 2001 From: dsweber2 Date: Wed, 6 Sep 2023 15:08:35 -0700 Subject: [PATCH] feat: don't adjust prune, better docs --- R/cache.R | 15 +++------------ _pkgdown.yml | 1 + tests/testthat/test-cache.R | 5 ++--- 3 files changed, 6 insertions(+), 15 deletions(-) diff --git a/R/cache.R b/R/cache.R index 3cd01222..62738c9b 100644 --- a/R/cache.R +++ b/R/cache.R @@ -72,8 +72,7 @@ cache_environ$epidatr_cache <- NULL #' dir = "some/subdir", #' days = 14, #' max_size = 512, -#' logfile = "some/subdir/logs.txt", -#' prune_rate = 20L +#' logfile = "some/subdir/logs.txt" #' ) #' } #' @@ -90,11 +89,6 @@ cache_environ$epidatr_cache <- NULL #' @param logfile where cachem's log of transactions is stored, relative to the #' cache directory. By default, it is `"logfile.txt"`. The environmental #' variable is `EPIDATR_CACHE_LOGFILE`. -#' @param prune_rate how many calls to go between checking if any cache elements -#' are too old or if the cache overall is too large. Defaults to `2000L`. -#' Since cachem fixes the max time between prune checks to 5 seconds, there's -#' little reason to actually change this parameter. Doesn't have a -#' corresponding environmental variable. #' @param confirm whether to confirm directory creation. default is `TRUE`; #' should only be set in non-interactive scripts #' @seealso [clear_cache] to delete the old cache while making a new one, @@ -107,7 +101,6 @@ set_cache <- function(cache_dir = NULL, days = NULL, max_size = NULL, logfile = NULL, - prune_rate = 2000L, confirm = TRUE) { if (is.null(cache_dir) && sessionInfo()$R.version$major >= 4) { cache_dir <- Sys.getenv("EPIDATR_CACHE_DIR", unset = tools::R_user_dir("epidatr")) @@ -129,7 +122,7 @@ set_cache <- function(cache_dir = NULL, logfile <- Sys.getenv("EPIDATR_CACHE_LOGFILE", unset = "logfile.txt") } stopifnot(is.character(logfile)) - stopifnot(is.numeric(days), is.numeric(max_size), is.integer(prune_rate)) + stopifnot(is.numeric(days), is.numeric(max_size)) # # make sure that that directory exists and drag the user into that process cache_exists <- file.exists(cache_dir) @@ -171,8 +164,7 @@ set_cache <- function(cache_dir = NULL, dir = cache_dir, max_size = as.integer(max_size * 1024^2), max_age = days * 24 * 60 * 60, - logfile = file.path(cache_dir, logfile), - prune_rate = prune_rate + logfile = file.path(cache_dir, logfile) ) } } @@ -190,7 +182,6 @@ set_cache <- function(cache_dir = NULL, #' days = 14, #' max_size = 512, #' logfile = "some/subdir/logs.txt", -#' prune_rate = 20L #' ) #' } #' @param disable instead of setting a new cache, disable caching entirely; diff --git a/_pkgdown.yml b/_pkgdown.yml index 87c1dde5..abc7c2d3 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -16,6 +16,7 @@ reference: - epirange - timeset - title: Control Caching behavior + desc: configure an optional persistent cache - contents: - set_cache - clear_cache diff --git a/tests/testthat/test-cache.R b/tests/testthat/test-cache.R index e06924bd..1ba98e31 100644 --- a/tests/testthat/test-cache.R +++ b/tests/testthat/test-cache.R @@ -17,14 +17,12 @@ test_set_cache <- function(cache_dir = new_temp_dir, days = 1, max_size = 1, logfile = "logfile.txt", - prune_rate = 3L, confirm = FALSE) { set_cache( cache_dir = cache_dir, days = days, max_size = max_size, logfile = logfile, - prune_rate = prune_rate, confirm = confirm ) } @@ -41,7 +39,7 @@ test_that("cache set as expected", { } expect_equal(cache_info()$max_size, 1024^2) expect_equal(cache_info()$max_age, 24 * 60 * 60) - expect_equal(cache_info()$prune_rate, 3) + expect_equal(cache_info()$prune_rate, 20) expect_equal(cache_info()$logfile, file.path(new_temp_dir, "logfile.txt")) expect_equal(cache_info()$evict, "lru") expect_equal(cache_info()$max_n, Inf) @@ -198,6 +196,7 @@ test_that("check_is_cachable", { }) test_set_cache() +cache_environ$epidatr_cache$prune() clear_cache(disable = TRUE) rm(new_temp_dir)