Potential fix for GunDB taking a lot of time to complete .put
This commit is contained in:
parent
c5e4de1619
commit
171b1f0b77
1 changed files with 37 additions and 15 deletions
|
|
@ -191,22 +191,44 @@ const listenerForAddr = (addr, SEA) => async (order, orderID) => {
|
||||||
|
|
||||||
const invoicePutStartTime = Date.now()
|
const invoicePutStartTime = Date.now()
|
||||||
|
|
||||||
await new Promise((res, rej) => {
|
// Calling .put on an object on GunDB seems
|
||||||
getUser()
|
// to take a lot of time for some users
|
||||||
.get(Key.ORDER_TO_RESPONSE)
|
await Promise.all([
|
||||||
.get(orderID)
|
new Promise((res, rej) => {
|
||||||
.put(orderResponse, ack => {
|
getUser()
|
||||||
if (ack.err && typeof ack.err !== 'number') {
|
.get(Key.ORDER_TO_RESPONSE)
|
||||||
rej(
|
.get(orderID)
|
||||||
new Error(
|
.get('response')
|
||||||
`Error saving encrypted invoice to order to response usergraph: ${ack}`
|
.put(orderResponse.response, ack => {
|
||||||
|
if (ack.err && typeof ack.err !== 'number') {
|
||||||
|
rej(
|
||||||
|
new Error(
|
||||||
|
`Error saving encrypted invoice to order to response usergraph: ${ack}`
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
} else {
|
||||||
} else {
|
res()
|
||||||
res()
|
}
|
||||||
}
|
})
|
||||||
})
|
}),
|
||||||
})
|
await new Promise((res, rej) => {
|
||||||
|
getUser()
|
||||||
|
.get(Key.ORDER_TO_RESPONSE)
|
||||||
|
.get(orderID)
|
||||||
|
.get('type')
|
||||||
|
.put(orderResponse.type, ack => {
|
||||||
|
if (ack.err && typeof ack.err !== 'number') {
|
||||||
|
rej(
|
||||||
|
new Error(
|
||||||
|
`Error saving encrypted invoice to order to response usergraph: ${ack}`
|
||||||
|
)
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
res()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
])
|
||||||
|
|
||||||
const invoicePutEndTime = Date.now() - invoicePutStartTime
|
const invoicePutEndTime = Date.now() - invoicePutStartTime
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue