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()
|
||||
|
||||
await new Promise((res, rej) => {
|
||||
getUser()
|
||||
.get(Key.ORDER_TO_RESPONSE)
|
||||
.get(orderID)
|
||||
.put(orderResponse, ack => {
|
||||
if (ack.err && typeof ack.err !== 'number') {
|
||||
rej(
|
||||
new Error(
|
||||
`Error saving encrypted invoice to order to response usergraph: ${ack}`
|
||||
// Calling .put on an object on GunDB seems
|
||||
// to take a lot of time for some users
|
||||
await Promise.all([
|
||||
new Promise((res, rej) => {
|
||||
getUser()
|
||||
.get(Key.ORDER_TO_RESPONSE)
|
||||
.get(orderID)
|
||||
.get('response')
|
||||
.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 {
|
||||
res()
|
||||
}
|
||||
})
|
||||
})
|
||||
} else {
|
||||
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
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue