aboutsummaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/peertube-runner/peertube-runner.ts1
-rw-r--r--packages/peertube-runner/register/register.ts1
-rw-r--r--packages/peertube-runner/server/server.ts15
-rw-r--r--packages/peertube-runner/shared/ipc/ipc-client.ts1
-rw-r--r--packages/peertube-runner/shared/ipc/ipc-server.ts2
-rw-r--r--packages/peertube-runner/shared/ipc/shared/ipc-request.model.ts2
6 files changed, 13 insertions, 9 deletions
diff --git a/packages/peertube-runner/peertube-runner.ts b/packages/peertube-runner/peertube-runner.ts
index 858d85e6a..32586c4d9 100644
--- a/packages/peertube-runner/peertube-runner.ts
+++ b/packages/peertube-runner/peertube-runner.ts
@@ -55,6 +55,7 @@ program.command('register')
55program.command('unregister') 55program.command('unregister')
56 .description('Unregister the runner from PeerTube instance') 56 .description('Unregister the runner from PeerTube instance')
57 .requiredOption('--url <url>', 'PeerTube instance URL', parseUrl) 57 .requiredOption('--url <url>', 'PeerTube instance URL', parseUrl)
58 .requiredOption('--runner-name <name>', 'Runner name')
58 .action(async options => { 59 .action(async options => {
59 try { 60 try {
60 await unregisterRunner(options) 61 await unregisterRunner(options)
diff --git a/packages/peertube-runner/register/register.ts b/packages/peertube-runner/register/register.ts
index a69390933..ca1bf0f5a 100644
--- a/packages/peertube-runner/register/register.ts
+++ b/packages/peertube-runner/register/register.ts
@@ -16,6 +16,7 @@ export async function registerRunner (options: {
16 16
17export async function unregisterRunner (options: { 17export async function unregisterRunner (options: {
18 url: string 18 url: string
19 runnerName: string
19}) { 20}) {
20 const client = new IPCClient() 21 const client = new IPCClient()
21 await client.run() 22 await client.run()
diff --git a/packages/peertube-runner/server/server.ts b/packages/peertube-runner/server/server.ts
index 087405dfe..e76131c74 100644
--- a/packages/peertube-runner/server/server.ts
+++ b/packages/peertube-runner/server/server.ts
@@ -121,27 +121,28 @@ export class RunnerServer {
121 121
122 async unregisterRunner (options: { 122 async unregisterRunner (options: {
123 url: string 123 url: string
124 runnerName: string
124 }) { 125 }) {
125 const { url } = options 126 const { url, runnerName } = options
126 127
127 const server = this.servers.find(s => s.url === url) 128 const server = this.servers.find(s => s.url === url && s.runnerName === runnerName)
128 if (!server) { 129 if (!server) {
129 logger.error(`Unknown server ${url} to unregister`) 130 logger.error(`Unknown server ${url} - ${runnerName} to unregister`)
130 return 131 return
131 } 132 }
132 133
133 logger.info(`Unregistering runner ${server.runnerName} on ${url}...`) 134 logger.info(`Unregistering runner ${runnerName} on ${url}...`)
134 135
135 try { 136 try {
136 await server.runners.unregister({ runnerToken: server.runnerToken }) 137 await server.runners.unregister({ runnerToken: server.runnerToken })
137 } catch (err) { 138 } catch (err) {
138 logger.error({ err }, `Cannot unregister runner ${server.runnerName} on ${url}`) 139 logger.error({ err }, `Cannot unregister runner ${runnerName} on ${url}`)
139 } 140 }
140 141
141 this.unloadServer(server) 142 this.unloadServer(server)
142 await this.saveRegisteredInstancesInConf() 143 await this.saveRegisteredInstancesInConf()
143 144
144 logger.info(`Unregistered runner ${server.runnerName} on ${server.url}`) 145 logger.info(`Unregistered runner ${runnerName} on ${url}`)
145 } 146 }
146 147
147 private unloadServer (server: PeerTubeServer) { 148 private unloadServer (server: PeerTubeServer) {
@@ -195,7 +196,7 @@ export class RunnerServer {
195 if (code === ServerErrorCode.UNKNOWN_RUNNER_TOKEN) { 196 if (code === ServerErrorCode.UNKNOWN_RUNNER_TOKEN) {
196 logger.error({ err }, `Unregistering ${server.url} as the runner token ${server.runnerToken} is invalid`) 197 logger.error({ err }, `Unregistering ${server.url} as the runner token ${server.runnerToken} is invalid`)
197 198
198 await this.unregisterRunner({ url: server.url }) 199 await this.unregisterRunner({ url: server.url, runnerName: server.runnerName })
199 return 200 return
200 } 201 }
201 202
diff --git a/packages/peertube-runner/shared/ipc/ipc-client.ts b/packages/peertube-runner/shared/ipc/ipc-client.ts
index db8d7f1bf..f8e72f97f 100644
--- a/packages/peertube-runner/shared/ipc/ipc-client.ts
+++ b/packages/peertube-runner/shared/ipc/ipc-client.ts
@@ -47,6 +47,7 @@ export class IPCClient {
47 47
48 async askUnregister (options: { 48 async askUnregister (options: {
49 url: string 49 url: string
50 runnerName: string
50 }) { 51 }) {
51 const req: IPCRequest = { 52 const req: IPCRequest = {
52 type: 'unregister', 53 type: 'unregister',
diff --git a/packages/peertube-runner/shared/ipc/ipc-server.ts b/packages/peertube-runner/shared/ipc/ipc-server.ts
index 922dc93e5..4b67d01ae 100644
--- a/packages/peertube-runner/shared/ipc/ipc-server.ts
+++ b/packages/peertube-runner/shared/ipc/ipc-server.ts
@@ -40,7 +40,7 @@ export class IPCServer {
40 return undefined 40 return undefined
41 41
42 case 'unregister': 42 case 'unregister':
43 await this.runnerServer.unregisterRunner({ url: req.url }) 43 await this.runnerServer.unregisterRunner(pick(req, [ 'url', 'runnerName' ]))
44 return undefined 44 return undefined
45 45
46 case 'list-registered': 46 case 'list-registered':
diff --git a/packages/peertube-runner/shared/ipc/shared/ipc-request.model.ts b/packages/peertube-runner/shared/ipc/shared/ipc-request.model.ts
index 0f733cdfe..352808c74 100644
--- a/packages/peertube-runner/shared/ipc/shared/ipc-request.model.ts
+++ b/packages/peertube-runner/shared/ipc/shared/ipc-request.model.ts
@@ -11,5 +11,5 @@ export type IPCRequestRegister = {
11 runnerDescription?: string 11 runnerDescription?: string
12} 12}
13 13
14export type IPCRequestUnregister = { type: 'unregister', url: string } 14export type IPCRequestUnregister = { type: 'unregister', url: string, runnerName: string }
15export type IPCRequestListRegistered = { type: 'list-registered' } 15export type IPCRequestListRegistered = { type: 'list-registered' }