odin-request-retry
Advanced tools
Comparing version 1.0.2 to 1.0.3
{ | ||
"name": "odin-request-retry", | ||
"version": "1.0.2", | ||
"version": "1.0.3", | ||
"description": "Faz requests http, em casa de falha, tenta novamente.", | ||
@@ -5,0 +5,0 @@ "main": "./lib/index", |
@@ -1,80 +0,23 @@ | ||
## LIVE MSSQL | ||
### odin-request-retry | ||
#### Obtendo um pool de conexões: | ||
Ao realizar requisições http, podem ocorrer erros em função de oscilações na rede | ||
ou mesmo problemas temporários com o servidor que responde às requisições. | ||
```javascript | ||
Em função disso, é uma boa prática, sempre que realizar uma requisição http, e ela falhar | ||
tentar realizar novamente a request, após um curto período de tempo. | ||
const odinMssql = require('odin-mssql'); | ||
A `odin-request-retry`, abstrai essa tarefa, tentando até três vezes fazer uma requisição, e somente retornará | ||
como falha para sua classe de negócio, se falhar três vezes. | ||
liveMssql.getConnection(config).then((connection) => { | ||
// TODO... | ||
}); | ||
``` | ||
````javascript | ||
#### Obtendo uma transação: | ||
const odinRequest = require('odin-request-retry'); | ||
```javascript | ||
odinRequest.request(minhaRequest).then((data) => { | ||
const odinMssql = require('odin-mssql'); | ||
// TODO ... | ||
liveMssql.getTransaction(connection).then((transaction) => { | ||
// TODO... | ||
}); | ||
``` | ||
#### Fechando uma conexão: | ||
```javascript | ||
const odinMssql = require('odin-mssql'); | ||
liveMssql.closeConnection(connection).then(() => { | ||
// TODO... | ||
}); | ||
``` | ||
### Recomendação de uso: | ||
Obtenha a conexão ao iniciar a aplicação (ao iniciar o express), em | ||
seguida, atribua a conexão obtida a uma propriedade do express, | ||
acessível a qualquer request. | ||
```javascript | ||
const express = require('express'); | ||
const server = express(); | ||
const config = require('./config'); | ||
const odinMssql = require('odin-mssql'); | ||
odinMssql.getConnection(config.dbConfig).then((connection) => { | ||
server.set("connection", connection); | ||
}); | ||
``` | ||
Dentro de cada reqhest recebida pela aplicação, apenas obtenha uma | ||
transação da conexão existente: | ||
```javascript | ||
const odinMssql = require('odin-mssql'); | ||
router.get('/', async (req, res) => { | ||
odinMssql.getTransaction(req.app.get('connection')).then(transaction) => { | ||
// TODO... | ||
}); | ||
}); | ||
``` | ||
Seguindo esta recomendação, a aplicação utilizará sempre a mesma conexão para | ||
todas as requests, porém terá uma transação isolada para cada request. | ||
* Não é necessário fechar as conexões a cada request; | ||
* Lembre-se de sempre fazer commit ou rollback para cada transação. | ||
```` |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
2727
23