Skip to content

Commit

Permalink
improve updateStuckOrders
Browse files Browse the repository at this point in the history
  • Loading branch information
peterszombati committed Nov 6, 2023
1 parent 1b24cbe commit 3fe981d
Showing 1 changed file with 24 additions and 6 deletions.
30 changes: 24 additions & 6 deletions src/v2/core/Trading/Trading.ts
Original file line number Diff line number Diff line change
Expand Up @@ -170,33 +170,51 @@ export class Trading {
}
})

const updateStuckOrders = () => {
const updateStuckOrders = async () => {
const start = new Time()
if (Object.values(this.XAPI.Socket.connections).some((c) => c.lastReceivedMessage !== null && c.status === 'CONNECTED')) {
Object.values(this.pendingOrders).forEach(order => {
for (const order of Object.values(this.pendingOrders)) {
if (order.createdAt.elapsedMs() > 90000) {
order?.reject(new Error('timeout: 90000ms'))
delete this.pendingOrders[order.order]
return
}
if (order.createdAt.elapsedMs() > 5000 && order.resolve !== undefined && order.reject !== undefined) {
this.XAPI.Socket.send.tradeTransactionStatus(order.order)
await this.XAPI.Socket.send.tradeTransactionStatus(order.order)
}
})
if (start.elapsedMs() > 5000) {
return
}
}
}
}

this.XAPI.Stream.onOpen(() => {
if (t.isNull() && Object.values(this.XAPI.Socket.connections).some((c) => c.lastReceivedMessage !== null && c.status !== 'DISCONNECTED')) {
t.setInterval(() => {
updateStuckOrders()
updateStuckOrders().catch(error => {
this.XAPI.logger.warn({
source: 'src/v2/core/Trading/Trading.ts',
function: 'updateStuckOrders',
data: {
error
}})
})
}, 5100)
}
})

this.XAPI.Socket.onOpen(() => {
if (t.isNull() && Object.values(this.XAPI.Socket.connections).some((c) => c.lastReceivedMessage !== null && c.status !== 'DISCONNECTED')) {
t.setInterval(() => {
updateStuckOrders()
updateStuckOrders().catch(error => {
this.XAPI.logger.warn({
source: 'src/v2/core/Trading/Trading.ts',
function: 'updateStuckOrders',
data: {
error
}})
})
}, 5100)
}
})
Expand Down

0 comments on commit 3fe981d

Please sign in to comment.