android supabase edge function 타임아웃 설정

오리·2024년 1월 27일

문제상황

  • supabase client 의 edge function 에 timeout default 가 1000(10초)로 되어있다
  • edge function이 gpt 기능을 사용하는데, 모두 알다시피 gpt 응답속도는 매우 느리다.. 응답이 10초 안에 안온다 그래서 에러가 두둥
io.ktor.client.plugins.HttpRequestTimeoutException: Request timeout has expired [url=https://[projectId].functions.supabase.co/[functionName], request_timeout=10000 ms]
  • 근데 도대체!!!! 어디서 timeout 값을 설정해야 하는지 모르겠다 그 어느곳에도 나와있지 않음 (ㅠㅠ)

해결

이것저것 해도 다 안되다가 network module에서 provideSupabaseClient 의 function에 header로 reqeust timeout을 설정했더니 됨

install(Functions) {
      headers {
        requestTimeout = HttpTimeout.INFINITE_TIMEOUT_MS.toDuration(DurationUnit.MILLISECONDS)
        append(HttpHeaders.ContentType, ContentType.Application.Json.contentType)
      }
    }

이후에 HttpTimeout.INFINITE_TIMEOUT_MS 부분은 적절히 바꾸었다

0개의 댓글