"μ²λ¦¬λμ§ μμ κ±°λΆ μκ° μ΄κ³Ό μ€λ₯: Knex: μ°κ²°μ νλνλ μκ° μ΄κ³Όμ λλ€. νμ΄ κ½ μ°Όμ μ μμ΅λλ€. .transacting(trx) νΈμΆμ΄ λλ½λμμ΅λκΉ?" λ¬Έμ . μ€ν μ€μΈ μΏΌλ¦¬κ° λ무 λ§μμ μμΈμ μ°Ύλ 쿼리λ₯Ό μ°Ύμ μ μμ΅λλ€. μ΄ λ¬Έμ λ postgres ν¬κΈ°κ° μ¦κ°ν λ μ¬κ°ν΄μ§λ κ² κ°μ΅λλ€. μ΄λ€ ν΄κ²°μ± μ΄ μμ΅λκΉ?
λλ λνμ΄ λ¬Έμ μ μ§λ©΄ ν΄ μμ΅λλ€.
λλ κ°μ λ¬Έμ λ₯Ό κ°μ§κ³ μλ€.
ν΄κ²°μ± μ μμ€λ₯Ό λΆλ¦¬νκ³ μμ νλ κ²μ λλ€. μ΄κ²μ "쿼리" μ€λ₯κ° μλλΌ μ ν리μΌμ΄μ μν€ν μ² λ¬Έμ μ λλ€. μ€λ₯λ knexκ° (κΈ°λ³Έκ°) 60μ΄ μ΄λ΄μ μ°κ²°μ νλν μ μμ λ λ°μνλ©° κ·Έ μ΄μ λ νμ΄ κ°λ μ°ΌκΈ° λλ¬ΈμΌ κ°λ₯μ±μ΄ ν½λλ€.
μ¦, μ€λ₯λ₯Ό μΌμΌν¬ μ μλ λ§μ κ²λ€μ΄ μμ΅λλ€. κ°μ₯ μΌλ°μ μΈ λ κ°μ§λ λ€μκ³Ό κ°μ΅λλ€.
.transacing(trx)
λ₯Ό νΈμΆνλ κ²μ μμμ΅λλ€. μ΄λ―Έ μ΅λ νμ μλ λμ νΈλμμ
μ μ ν΄ μνλ‘ λ§λ€ λΏλ§ μλλΌ μ°κ²°μ μ»μ μ μκΈ° λλ¬Έμ μ€λ₯κ° λ°μν©λλ€.μ΄ μ€λ₯κ° λ°μνλ©΄ λ°μ΄ν°λ² μ΄μ€ μνλ₯Ό μ΄ν΄λ΄μΌ ν©λλ€. μ ν΄ μ°κ²°μ΄ λ§μ΄ μμ΅λκΉ? λ무 λ§μ μ°κ²°μ΄ μμ΅λκΉ? λ±.
λλ λνμ΄ μ€λ₯μ μ§λ©΄νκ³ μμ΅λλ€.
rejecter(new _bluebird2.default.TimeoutError('Knex: Timeout acquiring a connection. The pool is probably full. ' + 'Are you missing a .transacting(trx) call?'));
^
TimeoutError: Knex: Timeout acquiring a connection. The pool is probably full. Are you missing a .transacting(trx) call?
μν€ν μ² μ°κ²°μ νν€μΉλ λμ μ΄ μ€λ₯κ° μ ν리μΌμ΄μ μΆ©λμ λ°©μ§νλ λ°©λ²μ΄ μμ΅λκΉ? μλλ©΄ μ μ΄λ μ€λ₯κ° μ€νμ κ°λ¦¬ν¬ μ μμ΅λκΉ?
@rsfernandes λΉλμμ catch
νΈλ€λ¬λ₯Ό μ¬μ©νλ ν μ΄ μ€λ₯κ° μ 체 μ ν리μΌμ΄μ
μ μΆ©λμν€λ λ°©λ²μ μ μ μμ΅λλ€.
μ€νμ κ΄ν΄μλ longStackTraces
λ₯Ό μΆμ²ν©λλ€. μ΄ μ€λ₯ μ€νμ μν΄ νΉλ³ν knexμ λ΄μ₯λ κ²μ μμ΅λλ€.
FWIW AWS Aurora λ°μ΄ν°λ² μ΄μ€ μλΉμ€μμ μ΄ μ€λ₯κ° λ°μνμΌλ©° λΉνμ± ν λ°μ΄ν°λ² μ΄μ€λ₯Ό μ’ λ£νλ μλ μ’ λ£ κΈ°λ₯μΌλ‘ μΈν΄ λ°μνμ΅λλ€(λ°μ΄ν°λ² μ΄μ€μ μλ μμμ 1λΆ μ λ μμλλ©° μ΄λ‘ μΈν΄ knexκ° μκ° μ΄κ³Όλ¨)
https://github.com/tgriesser/knex/issues/3159 μ€λ‘λΌμ λν μ μμ λν λͺ κ°μ§ ν΄κ²° λ°©λ² λͺ©λ‘μ΄ μμ΅λλ€.
@wubzz
- νμ μλ₯Ό λ€μ΄ νΈλν½μ΄ λ§κ±°λ μ€λ μ€νλλ μ μ°¨λ‘ μΈν΄ μ¬μ§ μκ³ μ΅μ(κΈ°λ³Έκ°) 60μ΄ λμ μ΅λ μ©λμΌλ‘ κ³μ μ¬μ© μ€μ λλ€.
μ΄κ²μ΄ λ¬Έμ λΌλ©΄ λ¨μν μμ μ λ μνν μ μλ κ²½μ° μ·¨ν μ μλ κΆμ₯ μ¬νμ 무μμ λκΉ? π
μκ° μ΄κ³Ό λλ μ΅λ μ©λμ λ리μκ² μ΅λκΉ?
λ΄ λ¬Έμ λ knexκ° μλλΌ λ΄ aws RDSμ 보μ κ·Έλ£Ή μΈλ°μ΄λ κ·μΉμ μμμ΅λλ€. λ΄ λ‘컬 μ»΄ν¨ν° IP μ£Όμλ‘λ§ μ€μ λμ΄ μμΌλ―λ‘ ec2 μΈμ€ν΄μ€μμ μ°κ²°ν μ μμ΅λλ€. μ€λ₯ λ©μμ§κ° λμμ΄λμ§ μμκΈ° λλ¬Έμ μ€λ§νμ΅λλ€.
μ΄ μ€λ₯ λ©μμ§κ° νμλλ©΄ knexκ° μ°κ²°μ μ€μ ν μ μλ€λ μ¬μ€κ³Ό κ΄λ ¨μ΄ μμ μ μμ΅λλ€. λ°λΌμ λ€νΈμν¬λ νμΈνμμμ€!
μ, μ°κ²°μ΄ μμ ν μ°¨λ¨λ κ²½μ° λ°μν μ μλ€κ³ κ°μ ν©λλ€. λ€λ₯Έ μ°κ²° μκ° μ΄κ³Όμ acquite μκ° μ΄κ³Όλ₯Ό μ€μ νλ©΄ μ΄ λ κ²½μ°λ₯Ό ꡬλΆν μ μμ΅λλ€.
λ€μ λ²μ μΌλ‘ λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€.
"knex": "^0.21.1",
"objection": "^2.1.3",
"pg": "^8.0.3"
λ Έλ 14κ° μλ λ Έλ 12λ‘ μ νν΄μΌ ν μλ μμ΅λλ€.
λ°μ΄ν°λ² μ΄μ€ ν μ νμ΄ μμμ΅λλ€. μ΅μ λ° μ΅λκ°μ μ€μ νμ¬ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμμ΅λλ€.
λ΄ Macμμ λμΌν λ¬Έμ κ° λ°μνμ΅λλ€. λͺ λ Ήμ€ ν°λ―Έλμμ knexλ₯Ό μ€ννκ³ μμλλ° κ°μκΈ° μ΄ Knex: Timeout... λ¬Έμ κ° νμλκΈ° μμνμ΅λλ€. λ¬Έμ κ° bash λμ zsh μ Έλ‘ μ΄λνκ³ μλ€λ κ²μ μμμ΅λλ€. λλ μ€λ«λμ bashλ₯Ό μ¬μ©ν΄ μμΌλ©° μ΅κ·Ό Apple μ§μΉ¨μ λ°λΌ zshλ‘ μ νμ μλνμ΅λλ€. bashλ‘ λμκ°μ λ§μ ν΄κ²°λμμ΅λλ€.
λκ΅°κ°μκ² λμμ΄ λκΈ°λ₯Ό λ°λλλ€.
λ Έλ 14κ° μλ λ Έλ 12λ‘ μ νν΄μΌ ν μλ μμ΅λλ€.
μ΄κ²μ λ Έλ (v14) λμ mac docker-compose node:12 μμ μ μκ² ν¨κ³Όμ μ΄μμ΅λλ€. κ°μ¬ ν΄μ.
nvm exec 12 node ./src/index...
λ₯Ό μ¬μ©νμ¬ μλ²μ λ
Έλ λ²μ μ μ¬μ©νμ¬ κ°μ μ€ννλ €κ³ νλλ° μμ κ°μ μ€λ₯κ° λ°μνμ΅λλ€.
λ Έλλ₯Ό μ§μ μ€ννλ©΄ μ€λ₯κ° μ¬λΌμ§κ³ μ°κ²°μ΄ μ€μ λμμ΅λλ€.
λ°λΌμ μΌλ° μ€μ κ³Ό λ Έλ 12λ₯Ό μ¬μ©νκ³ μλμ§ νμΈνμμμ€.
@batadamnjanovic λΉμ μ μ΄νμ μ°κ΅¬ λμ μ λ₯Ό ꡬν΄μ£Όμμ΅λλ€. νμ΄!!
κ°μ₯ μ μ©ν λκΈ
λ€μ λ²μ μΌλ‘ λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€.