我有一个 R 脚本,它从数据库读取数据并将其写入 Google 电子表格(该脚本读取多个表,每个表都写入电子表格的不同工作表)。它工作正常,但我遇到的问题是,由于某些表非常大,googlesheets4::write_range 函数随机给出“超时”错误,因为工作表仍在忙于处理之前写入的表。我尝试编写代码来捕获错误并使用重试(从包重试)函数,但它似乎不起作用,我只是找不到合适的方法来捕获 range_write 函数在计时时给出的错误出去。我需要的应该是这样的(我猜):
retry::retry(
range_write(my_sheet,
my_data,
sheet = sheet,
range = "A1",
col_names = TRUE),
when = "some error",
max_tries = 3,
interval = 10)
如前所述,前面的代码有效,但未能捕捉到 range_write 在超时时给出的错误,它仍然给出以下内容:“错误:服务器错误:(503)不可用”。
如果几秒钟后我重试失败的表的函数,它通常可以工作,所以我知道这只是重试(如果必要的话,2或3次)的问题,给工作表一些时间来处理信息.
任何帮助或提示使这项工作将不胜感激!