Faraday: Net::HTTP μ–΄λŒ‘ν„°λŠ” μžλ™μœΌλ‘œ μš”μ²­μ„ μž¬μ‹œλ„ν•©λ‹ˆλ‹€.

에 λ§Œλ“  2018λ…„ 02μ›” 21일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: lostisland/faraday

κΈ°λ³Έ 정보

  • 패러데이 버전: λͺ¨λ“ 
  • 루비 버전: 2.5+

문제 μ„€λͺ…

Net::HTTP λ₯Ό μ–΄λŒ‘ν„°λ‘œ μ‚¬μš©ν•  λ•Œ μ‚¬μš©μžλŠ” Net::HTTP μ œκ³΅ν•˜λŠ” μž¬μ‹œλ„ μ „λž΅μ— λ†€λΌκ²Œ λ©λ‹ˆλ‹€. 이것은 λ‹€λ₯Έ "문제"λ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€(예: #612 및 #771).
Ruby <= 2.4에 λŒ€ν•΄ μš°λ¦¬κ°€ ν•  수 μžˆλŠ” 일은 λ§Žμ§€ μ•Šμ§€λ§Œ Ruby 2.5λŠ” Net::HTTP λŒ€ν•œ μƒˆλ‘œμš΄ max_retries ꡬ성을 μ œκ³΅ν•˜λ―€λ‘œ FaradayλŠ” μ‚¬μš© κ°€λŠ₯ν•œ 경우 μžλ™μœΌλ‘œ μ„€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.

μž¬ν˜„ 단계

문제 #612 및 #771을 μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.

feature help wanted

λͺ¨λ“  3 λŒ“κΈ€

이 문제λ₯Ό μ‚΄νŽ΄λ³΄μ•˜μŠ΅λ‹ˆλ‹€. #771에 μ–ΈκΈ‰λœ ν•œ 가지 μ ‘κ·Ό 방식은 기본값을 0으둜 μ„€μ •ν•˜μ§€λ§Œ κ΅¬μ„±λœ μž¬μ‹œλ„ νšŸμˆ˜μ— 따라 λ³€κ²½ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. Retry 미듀웨어가 κΈ°λ³Έ μ–΄λŒ‘ν„°λ₯Ό μΈμ‹ν•˜λ„λ‘ ν•΄μ•Ό ν•˜λ©°(일뢀 μ–΄λŒ‘ν„°λŠ” 이λ₯Ό μ§€μ›ν•˜μ§€ μ•Šμ„ 수 있음) env 이 논리λ₯Ό μ‘°κ±΄λΆ€λ‘œ μ μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€. μ–΄λŒ‘ν„°λŠ” μž¬μ‹œλ„ νšŸμˆ˜λ„ μ•Œμ•„μ•Ό ν•©λ‹ˆλ‹€.

상기 μ ‘κ·Ό 방식에 λŒ€ν•œ λŒ€μ•ˆμœΌλ‘œ μž¬μ‹œλ„λ₯Ό ν•˜μ§€ μ•Šκ³  μž¬μ‹œλ„ 논리λ₯Ό μž¬μ‹œλ„ λ―Έλ“€μ›¨μ–΄λ‘œ μ œν•œν•˜λ„λ‘ μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€. κ²°κ³Όκ°€ μ–΄λ–»λ“  @iMacTia λ₯Ό μ„ νƒν•˜κ²Œ λ˜μ–΄

λ‚˜λŠ” ν™•μ‹€νžˆ 두 번째 μ˜΅μ…˜μ„ μƒκ°ν•˜κ³  μžˆμ—ˆλ‹€.
μ‹€νŒ¨ν•œ μš”μ²­ μž¬μ‹œλ„λ₯Ό μ²˜λ¦¬ν•  수 μžˆλŠ” Retry 미듀웨어가 이미 μžˆμŠ΅λ‹ˆλ‹€.
μ–΄λŒ‘ν„°(이 경우 Net::HTTP)λŠ” 자체적으둜 μš”μ²­μ„ μž¬μ‹œλ„ν•΄μ„œλŠ” μ•ˆ λ©λ‹ˆλ‹€.

이 κ²½μš°μ— μš°λ¦¬κ°€ ν•΄μ•Ό ν•  일은 Net::HTTP μ–΄λŒ‘ν„°μ— max_retries λ₯Ό 0으둜 μ„€μ •ν•˜λ„λ‘ μ§€μ‹œν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. λ¬Όλ‘  이 속성을 μ‚¬μš©ν•  수 μžˆλ‹€λ©΄

@iMacTia - 더 이상 λ™μ˜ν•  수 μ—†μŠ΅λ‹ˆλ‹€. 그런 κ²½μš°μ—λŠ” 이것을 μ„ νƒν•˜κ² μŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰