Browse Source

Better runner error UX when server is not run

pull/5340/merge
Chocobozzz 1 week ago
parent
commit
0d6a8289fb
No known key found for this signature in database GPG Key ID: 583A612D890159BE
3 changed files with 23 additions and 7 deletions
  1. +7
    -4
      packages/peertube-runner/peertube-runner.ts
  2. +14
    -1
      packages/peertube-runner/shared/ipc/ipc-client.ts
  3. +2
    -2
      support/doc/tools.md

+ 7
- 4
packages/peertube-runner/peertube-runner.ts View File

@@ -31,7 +31,7 @@ program.command('server')
try {
await RunnerServer.Instance.run()
} catch (err) {
logger.error('Cannot run PeerTube runner as server mode', err)
logger.error(err, 'Cannot run PeerTube runner as server mode')
process.exit(-1)
}
})
@@ -46,7 +46,8 @@ program.command('register')
try {
await registerRunner(options)
} catch (err) {
logger.error('Cannot register this PeerTube runner.', err)
console.error('Cannot register this PeerTube runner.')
console.error(err)
process.exit(-1)
}
})
@@ -58,7 +59,8 @@ program.command('unregister')
try {
await unregisterRunner(options)
} catch (err) {
logger.error('Cannot unregister this PeerTube runner.', err)
console.error('Cannot unregister this PeerTube runner.')
console.error(err)
process.exit(-1)
}
})
@@ -69,7 +71,8 @@ program.command('list-registered')
try {
await listRegistered()
} catch (err) {
logger.error('Cannot list registered PeerTube instances.', err)
console.error('Cannot list registered PeerTube instances.')
console.error(err)
process.exit(-1)
}
})


+ 14
- 1
packages/peertube-runner/shared/ipc/ipc-client.ts View File

@@ -11,8 +11,21 @@ export class IPCClient {
await ensureDir(ConfigManager.Instance.getSocketDirectory())

const socketPath = ConfigManager.Instance.getSocketPath()

this.netIPC = new NetIPC({ path: socketPath })
await this.netIPC.connect()

try {
await this.netIPC.connect()
} catch (err) {
if (err.code === 'ECONNREFUSED') {
throw new Error(
'This runner is not currently running in server mode on this system. ' +
'Please run it using the `server` command first (in another terminal for example) and then retry your command.'
)
}

throw err
}
}

async askRegister (options: {


+ 2
- 2
support/doc/tools.md View File

@@ -376,7 +376,7 @@ peertube-runner [commands] --id instance-3

### Run the server

Run the runner in server mode so it can run transcoding jobs of registered PeerTube instances:
You need to run the runner in server mode first so it can run transcoding jobs of registered PeerTube instances:

```bash
peertube-runner server
@@ -384,7 +384,7 @@ peertube-runner server

### Register

To register the runner on a new PeerTube instance so the runner can process its transcoding job:
Then, you can register the runner on a new PeerTube instance so the runner can process its transcoding job:

```bash
peertube-runner register --url http://peertube.example.com --registration-token ptrrt-... --runner-name my-runner-name


Loading…
Cancel
Save