Update bất đồng bộ
This commit is contained in:
parent
da8c0f418b
commit
f71f18393e
|
|
@ -665,7 +665,7 @@ export class WebSocketIo {
|
||||||
action: LineAction,
|
action: LineAction,
|
||||||
options: HandleOptions = {}
|
options: HandleOptions = {}
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
for (const lineId of lineIds) {
|
lineIds.forEach(async (lineId) => {
|
||||||
try {
|
try {
|
||||||
const line = this.lineMap.get(lineId)
|
const line = this.lineMap.get(lineId)
|
||||||
// console.log(line?.config)
|
// console.log(line?.config)
|
||||||
|
|
@ -675,45 +675,45 @@ export class WebSocketIo {
|
||||||
// await sleep(500)
|
// await sleep(500)
|
||||||
await action(line, options)
|
await action(line, options)
|
||||||
} else {
|
} else {
|
||||||
if (this.lineConnecting.includes(lineId)) continue
|
if (!this.lineConnecting.includes(lineId)) {
|
||||||
|
const linesData = await Line.findBy('id', lineId)
|
||||||
const linesData = await Line.findBy('id', lineId)
|
const stationData = await Station.findBy('id', stationId)
|
||||||
const stationData = await Station.findBy('id', stationId)
|
io.emit('line_connecting', {
|
||||||
io.emit('line_connecting', {
|
|
||||||
stationId,
|
|
||||||
lineId,
|
|
||||||
})
|
|
||||||
if (linesData && stationData) {
|
|
||||||
this.lineConnecting.push(lineId)
|
|
||||||
await this.connectLine(
|
|
||||||
io,
|
|
||||||
[linesData],
|
|
||||||
stationData,
|
|
||||||
line?.config?.output || '',
|
|
||||||
line?.config?.inventory || ''
|
|
||||||
)
|
|
||||||
this.lineConnecting = this.lineConnecting.filter((el) => el !== lineId)
|
|
||||||
|
|
||||||
const lineReconnect = this.lineMap.get(lineId)
|
|
||||||
if (lineReconnect) {
|
|
||||||
this.setTimeoutConnect(lineId, lineReconnect)
|
|
||||||
await sleep(100)
|
|
||||||
await action(lineReconnect, options)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
io.emit('line_disconnected', {
|
|
||||||
stationId,
|
stationId,
|
||||||
lineId,
|
lineId,
|
||||||
status: 'disconnected',
|
|
||||||
})
|
})
|
||||||
io.emit('line_error', { lineId, error: 'Line not connected\r\n', stationId })
|
if (linesData && stationData) {
|
||||||
|
this.lineConnecting.push(lineId)
|
||||||
|
await this.connectLine(
|
||||||
|
io,
|
||||||
|
[linesData],
|
||||||
|
stationData,
|
||||||
|
line?.config?.output || '',
|
||||||
|
line?.config?.inventory || ''
|
||||||
|
)
|
||||||
|
this.lineConnecting = this.lineConnecting.filter((el) => el !== lineId)
|
||||||
|
|
||||||
|
const lineReconnect = this.lineMap.get(lineId)
|
||||||
|
if (lineReconnect) {
|
||||||
|
this.setTimeoutConnect(lineId, lineReconnect)
|
||||||
|
await sleep(100)
|
||||||
|
await action(lineReconnect, options)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
io.emit('line_disconnected', {
|
||||||
|
stationId,
|
||||||
|
lineId,
|
||||||
|
status: 'disconnected',
|
||||||
|
})
|
||||||
|
io.emit('line_error', { lineId, error: 'Line not connected\r\n', stationId })
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (err: any) {
|
} catch (err: any) {
|
||||||
this.lineConnecting = this.lineConnecting.filter((el) => el !== lineId)
|
this.lineConnecting = this.lineConnecting.filter((el) => el !== lineId)
|
||||||
io.emit('line_error', { lineId, error: `\n[ERROR] ${err.message}\n`, stationId })
|
io.emit('line_error', { lineId, error: `\n[ERROR] ${err.message}\n`, stationId })
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
private async connectApc(socket: any, apcName: string, station: Station) {
|
private async connectApc(socket: any, apcName: string, station: Station) {
|
||||||
|
|
|
||||||
|
|
@ -162,7 +162,9 @@ const TerminalCLI: React.FC<TerminalCLIProps> = ({
|
||||||
terminal.current?.write(initContent);
|
terminal.current?.write(initContent);
|
||||||
setIsInit(true);
|
setIsInit(true);
|
||||||
if (!miniSize && !isDisabled) terminal.current?.focus();
|
if (!miniSize && !isDisabled) terminal.current?.focus();
|
||||||
terminal.current.scrollToBottom();
|
setTimeout(() => {
|
||||||
|
if (terminal.current) terminal.current.scrollToBottom();
|
||||||
|
}, 100);
|
||||||
if (terminal.current.options.theme) {
|
if (terminal.current.options.theme) {
|
||||||
const textColor =
|
const textColor =
|
||||||
localStorage.getItem("terminal-text-color") || "#41ee4a";
|
localStorage.getItem("terminal-text-color") || "#41ee4a";
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue