Browse Source

Sleep for 30 minutes if api servers are out of service

dev
x3 9 months ago
parent
commit
43b2249d91
Signed by: x3 <sugarpanning@cock.li> GPG Key ID: 7E9961E8AD0E240E
1 changed files with 8 additions and 2 deletions
  1. +8
    -2
      src/api.c

+ 8
- 2
src/api.c View File

@@ -719,10 +719,16 @@ static enum error api_cmd_base_pref(char buffer[API_BUFSIZE], int send_len,
if (err == ERR_API_OOS || err == ERR_API_SRV_BUSY ||
err == ERR_API_TIMEOUT) {
struct timespec ts;
time_t wait_ms = API_TRYAGAIN_TIME;

MS_TO_TIMESPEC_L(ts, API_TRYAGAIN_TIME);
if (err == ERR_API_OOS) {
/* In this case, we should wait 30 minutes as per the wiki */
wait_ms = 30 * 60 * 1000;
}

MS_TO_TIMESPEC_L(ts, wait_ms);
retry_count++;
uio_debug("Retry after %ld ms (%d/%d)", API_TRYAGAIN_TIME,
uio_debug("Retry after %ld ms (%d/%d)", wait_ms,
retry_count, API_MAX_TRYAGAIN);
if (nanosleep(&ts, NULL) == -1) {
if (errno == EINTR && should_exit) {


Loading…
Cancel
Save