vault creation loop bugfix
This commit is contained in:
@@ -167,7 +167,7 @@ async function doEnsureVault(chainId, owner, num) {
|
||||
console.log(`requesting vault ${owner} ${num}`)
|
||||
socket.emit('ensureVault', chainId, owner, num)
|
||||
}
|
||||
await sleep(5)
|
||||
// await sleep(5000) // prevent this process from running more than once every 5 seconds
|
||||
}
|
||||
|
||||
const ensureVaultRoutine = new SingletonCoroutine(doEnsureVault, 100, false)
|
||||
|
||||
10
src/misc.js
10
src/misc.js
@@ -16,9 +16,9 @@ export class SingletonCoroutine {
|
||||
|
||||
invoke(/*arguments*/) {
|
||||
this.args = arguments
|
||||
if( this.timeout !== null )
|
||||
clearTimeout(this.timeout)
|
||||
this.timeout = setTimeout(this.onTimeout, this.delay, this)
|
||||
console.log('invoke', arguments)
|
||||
if( this.timeout === null )
|
||||
this.timeout = setTimeout(this.onTimeout, this.delay, this)
|
||||
}
|
||||
|
||||
async onTimeout(self) {
|
||||
@@ -26,8 +26,10 @@ export class SingletonCoroutine {
|
||||
await self.f(...self.args)
|
||||
}
|
||||
catch (e) {
|
||||
if( self.retry )
|
||||
if( self.retry ) {
|
||||
console.log('retrying', this.f, 'due to error', e)
|
||||
self.invoke(self.args)
|
||||
}
|
||||
else
|
||||
console.error(e)
|
||||
}
|
||||
|
||||
@@ -48,10 +48,12 @@ socket.on('vaults', (chainId, owner, vaults)=>{
|
||||
console.log('vaults', vaults)
|
||||
if( s.chainId.value !== chainId || s.account !== owner )
|
||||
return
|
||||
s.vaults = vaults
|
||||
if( vaults.length ) {
|
||||
const vault = vaults[0]
|
||||
flushOrders(vault)
|
||||
if( vaults.length > s.vaults.length ) {
|
||||
s.vaults = vaults
|
||||
if( vaults.length ) {
|
||||
const vault = vaults[0]
|
||||
flushOrders(vault)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user