R targets and dataRetrieval return a connection error

141 Views Asked by At

I am attempting to use a targets workflow in my R project. I am attempting to download water quality data using the dataRetrieval package. In a fresh R session this works:

dataRetrieval::readWQPdata(siteid="USGS-04024315",characteristicName="pH")

To use this in targets, I have the following _targets.R file:

library(targets)

tar_option_set(packages = c("dataRetrieval"))

list(
  tar_target(
    name = wqp_data,
    command = readWQPdata(siteid="USGS-04024315",characteristicName="pH"),
    format = "feather",
    cue = tar_cue(mode = "never")
  )
)

when I run tar_make() the following is returned:

* start target wqp_data
No internet connection.
The following url returned no data:

https://www.waterqualitydata.us/data/Result/search?siteid=USGS-04024315&characteristicName=pH&zip=yes&mimeType=tsv
x error target wqp_data
* end pipeline
Error : attempt to set an attribute on NULL
Error: callr subprocess failed: attempt to set an attribute on NULL
Visit https://books.ropensci.org/targets/debugging.html for debugging advice.
Run `rlang::last_error()` to see where the error occurred.

I have attempted debugging using tar_option_set(debug = "wqp_data") or tar_option_set(workspace_on_error = TRUE) but outside of isolating the error to readWQPdata() didn't get anywhere.

I also had success using curl directly in targets so I do not think it is my actual internet connection:

list(
  tar_target(
    name = wqp_data,
    command = {con <- curl::curl("https://httpbin.org/get")
    readLines(con)
    close(con)}
  )
)

tar_make()
* start target wqp_data
* built target wqp_data
* end pipeline

Any advice on how to diagnose the connection issue when using these two packages?

0

There are 0 best solutions below