Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NEW function] retry_function #82

Open
17 tasks done
SanderDevisscher opened this issue Sep 25, 2024 · 0 comments · May be fixed by #92
Open
17 tasks done

[NEW function] retry_function #82

SanderDevisscher opened this issue Sep 25, 2024 · 0 comments · May be fixed by #92
Assignees
Labels
Function Issue related to a function New Nieuwe functie/data

Comments

@SanderDevisscher
Copy link
Collaborator

SanderDevisscher commented Sep 25, 2024

Voorstel functie naam "<retry_function>"

Functionality

  • uses trycatch()
  • to allow x retries

example code:

retry_function <- function(expr, max_attempts = 3) {
  attempts <- 0
  success <- FALSE
  result <- NULL

  while (attempts < max_attempts && !success) {
    attempts <- attempts + 1
    result <- tryCatch({
      eval(expr)  # Evaluate the expression
      success <- TRUE
      result  # Return the result if successful
    }, error = function(e) {
      message(sprintf("Attempt %d failed: %s", attempts, e$message))
      NULL  # Return NULL on error
    })
  }
  
  if (!success) {
    stop("All attempts failed.")
  }
  
  return(result)
}

Checklist

  • maak een nieuw R-bestand
  • sla het R bestand op onder ./R met filenaam is gelijk aan functienaam
  • voorzie een functie titel met #' op regel 1 van je script
  • voorzie een auteur met #' @author
  • voorzie een beschrijving met #' @description
  • voorzie uitleg over de input parameter(s) met #' @param name
  • voorzie uitleg over de output van de functie met #' @returns
  • voorzie minstens 1 voorbeeld van het gebruik van de functie dmv #' @examples
  • voorzie de export - tag dmv #' @export (#14)
  • voer usethis::use_package("packagename", min_version = TRUE) uit in de console voor iedere package die je gebruikt.
  • voer roxygen2::roxygenise() uit in de console
  • voer devtools::check() uit in de console
  • los eventuele errors, warnings en notes1 op
  • increment versie dmv usethis::use_version(which = "minor")2
  • maak een pull request met @soriadelva of @SanderDevisscher en eventueel andere relevante gebruikers als reviewer.

1in de mate van het mogelijke

2als je meer dan 5 functies en/of datasets in één pull request veranderd hebt gebruik: usethis::use_version(which = "major")

@SanderDevisscher SanderDevisscher added Function Issue related to a function New Nieuwe functie/data labels Sep 25, 2024
@SanderDevisscher SanderDevisscher self-assigned this Sep 25, 2024
SanderDevisscher added a commit that referenced this issue Sep 25, 2024
SanderDevisscher added a commit that referenced this issue Sep 25, 2024
SanderDevisscher added a commit that referenced this issue Sep 25, 2024
SanderDevisscher added a commit that referenced this issue Sep 25, 2024
SanderDevisscher added a commit that referenced this issue Sep 25, 2024
SanderDevisscher added a commit that referenced this issue Sep 25, 2024
SanderDevisscher added a commit that referenced this issue Sep 25, 2024
SanderDevisscher added a commit that referenced this issue Sep 25, 2024
@SanderDevisscher SanderDevisscher linked a pull request Sep 25, 2024 that will close this issue
SanderDevisscher added a commit that referenced this issue Sep 27, 2024
SanderDevisscher added a commit that referenced this issue Sep 27, 2024
SanderDevisscher added a commit that referenced this issue Oct 11, 2024
@SanderDevisscher SanderDevisscher linked a pull request Oct 11, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Function Issue related to a function New Nieuwe functie/data
Projects
None yet
1 participant