μ ν μκ°μ 300μ΄λ‘ μ€μ νκ³ μμ§λ§(AWS λλ€ ν¨μ + API κ²μ΄νΈμ¨μ΄λ₯Ό ν μ€νΈνκΈ° μν΄) HTTPieλ 30μ΄μμ κ³μ μ ν μκ°μ μ΄κ³Όν©λλ€. μνμ μ΄ 30μ΄λ‘ μ€μ λμ΄ μμ΅λκΉ? λλ μ¬μ©νκ³ μλ€
http --timeout=300 POST https://...
30μ μνμ μ΄ μλλΌ κΈ°λ³Έ μκ° μ΄κ³Ό μ€μ μ λλ€.
μ΄λ€ μ΄μ λ‘ httpie
λ λ΄κ° μ§μ ν μκ° μ΄κ³Όλ₯Ό μ¬μ©νμ§ μκ³ 30μ΄μ μκ° μ΄κ³Όλ©λλ€...
$ http --timeout=300 POST https://...
HTTP/1.1 504 Gateway Timeout
Connection: keep-alive
Content-Length: 41
Content-Type: application/json
Date: ...
{
"message": "Endpoint request timed out"
}
--timeout=300
λ° --timeout 300
(μ΄λ μ°¨μ΄κ° μμ΄μΌ νμ§λ§ νμΈνκ³ μΆμμ΅λλ€)λ‘ μ΄κ²μ μλνμ§λ§ κ²°κ³Όλ λμΌν©λλ€. 30μ΄μ μκ°μ΄ μ΄κ³Όλ©λλ€. ν¨μ νΈμΆμ μ½ 2λΆ(120μ΄)μ΄ μμλμ§λ§ 30μ΄λ₯Ό λμ§ μμ΅λλ€.
httpie
μκ° μ΄κ³Όκ° μλλλ€. λΉμ κ³Ό λΉμ μ λλ€ ν¨μ μ¬μ΄μ μ€κ°μκ° μμ² μκ°μ μ΄κ³Όνκ³ μλ€λ μλ΅μ λ°κ³ μμ΅λλ€. --timeout
μ μ»΄ν¨ν°μμ ν΄λΉ μ€κ°μμκ² μ λ¬λ©λλ€. μ€κ°μλ μ체μμ μνλ μκ° μ νμ λλ€ ν¨μλ‘ μ€μ ν μ μμ΅λλ€. μ΄κ²μ νμ€ν HTTPie λ²κ·Έκ° μλλλ€ .
μ€μ λ‘ μ΄κ²μ httpieμ λ¬Έμ μ λλ€. λ΄ gunicorn μκ° μ΄κ³Όλ 90μ΄μ΄κ³ httpieλ μ¬μ ν 30μ΄μμ μ€μ§λ©λλ€... httpieκ° μ’ λ£λ ν λͺ μ΄ νμ λ‘κ·Έμ μλ² μΆλ ₯ κ²°κ³Όκ° νμλκΈ° λλ¬Έμ gunicornμ΄ μκ° μ΄κ³Όλμ§ μλλ€λ κ²μ μκ³ μμ΅λλ€.
@gnulnx --timeout=n
λ₯Ό ν΅ν΄ λ³κ²½ν μ μλ κΈ°λ³Έ 30μ΄ _connection_ μκ° μ νμ΄ μμ΅λλ€.
(κΈ°λ³Έ μκ° μ νμ v2.0.0μμ μ κ±°λ©λλ€.)
κ°μ₯ μ μ©ν λκΈ
httpie
μκ° μ΄κ³Όκ° μλλλ€. λΉμ κ³Ό λΉμ μ λλ€ ν¨μ μ¬μ΄μ μ€κ°μκ° μμ² μκ°μ μ΄κ³Όνκ³ μλ€λ μλ΅μ λ°κ³ μμ΅λλ€.--timeout
μ μ»΄ν¨ν°μμ ν΄λΉ μ€κ°μμκ² μ λ¬λ©λλ€. μ€κ°μλ μ체μμ μνλ μκ° μ νμ λλ€ ν¨μλ‘ μ€μ ν μ μμ΅λλ€. μ΄κ²μ νμ€ν HTTPie λ²κ·Έκ° μλλλ€ .