mirror of https://github.com/Chocobozzz/PeerTube
Check available jobs on reconnection
parent
36710e5c24
commit
54a7183b11
|
@ -0,0 +1,7 @@
|
||||||
|
import * as esbuild from 'esbuild'
|
||||||
|
import { esbuildOptions } from './build.js'
|
||||||
|
|
||||||
|
const context = await esbuild.context(esbuildOptions)
|
||||||
|
|
||||||
|
// Enable watch mode
|
||||||
|
await context.watch()
|
|
@ -26,6 +26,7 @@ export class RunnerServer {
|
||||||
private checkingAvailableJobs = false
|
private checkingAvailableJobs = false
|
||||||
|
|
||||||
private cleaningUp = false
|
private cleaningUp = false
|
||||||
|
private initialized = false
|
||||||
|
|
||||||
private readonly sockets = new Map<PeerTubeServer, Socket>()
|
private readonly sockets = new Map<PeerTubeServer, Socket>()
|
||||||
|
|
||||||
|
@ -70,6 +71,7 @@ export class RunnerServer {
|
||||||
|
|
||||||
logger.info(`Using ${ConfigManager.Instance.getTranscodingDirectory()} for transcoding directory`)
|
logger.info(`Using ${ConfigManager.Instance.getTranscodingDirectory()} for transcoding directory`)
|
||||||
|
|
||||||
|
this.initialized = true
|
||||||
await this.checkAvailableJobs()
|
await this.checkAvailableJobs()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -98,8 +100,6 @@ export class RunnerServer {
|
||||||
await this.saveRegisteredInstancesInConf()
|
await this.saveRegisteredInstancesInConf()
|
||||||
|
|
||||||
logger.info(`Registered runner ${runnerName} on ${url}`)
|
logger.info(`Registered runner ${runnerName} on ${url}`)
|
||||||
|
|
||||||
await this.checkAvailableJobs()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private loadServer (server: PeerTubeServer) {
|
private loadServer (server: PeerTubeServer) {
|
||||||
|
@ -114,8 +114,14 @@ export class RunnerServer {
|
||||||
})
|
})
|
||||||
|
|
||||||
socket.on('connect_error', err => logger.warn({ err }, `Cannot connect to ${url} socket`))
|
socket.on('connect_error', err => logger.warn({ err }, `Cannot connect to ${url} socket`))
|
||||||
socket.on('connect', () => logger.info(`Connected to ${url} socket`))
|
socket.on('available-jobs', () => this.safeAsyncCheckAvailableJobs())
|
||||||
socket.on('available-jobs', () => this.checkAvailableJobs())
|
|
||||||
|
socket.on('connect', () => {
|
||||||
|
logger.info(`Connected to ${url} socket`)
|
||||||
|
|
||||||
|
this.safeAsyncCheckAvailableJobs()
|
||||||
|
})
|
||||||
|
socket.on('disconnect', () => logger.warn(`Disconnected from ${url} socket`))
|
||||||
|
|
||||||
this.sockets.set(server, socket)
|
this.sockets.set(server, socket)
|
||||||
}
|
}
|
||||||
|
@ -169,7 +175,13 @@ export class RunnerServer {
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
private safeAsyncCheckAvailableJobs () {
|
||||||
|
this.checkAvailableJobs()
|
||||||
|
.catch(err => logger.error({ err }, `Cannot check available jobs`))
|
||||||
|
}
|
||||||
|
|
||||||
private async checkAvailableJobs () {
|
private async checkAvailableJobs () {
|
||||||
|
if (!this.initialized) return
|
||||||
if (this.checkingAvailableJobs) return
|
if (this.checkingAvailableJobs) return
|
||||||
|
|
||||||
this.checkingAvailableJobs = true
|
this.checkingAvailableJobs = true
|
||||||
|
|
Loading…
Reference in New Issue