X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fserver-commands%2Fserver%2Fserver.ts;h=66b7ff09d2702733423583fcdcbdca6cbf716612;hb=813f37438a1043876defb442c0b3eade198b3ca2;hp=7096faf21d50d2f976e6cb941014120e17cbd038;hpb=56f47830758ff8e92abcfcc5f35d474ab12fe215;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/server-commands/server/server.ts b/shared/server-commands/server/server.ts index 7096faf21..66b7ff09d 100644 --- a/shared/server-commands/server/server.ts +++ b/shared/server-commands/server/server.ts @@ -8,9 +8,9 @@ import { CLICommand } from '../cli' import { CustomPagesCommand } from '../custom-pages' import { FeedCommand } from '../feeds' import { LogsCommand } from '../logs' -import { SQLCommand } from '../miscs' import { AbusesCommand } from '../moderation' import { OverviewsCommand } from '../overviews' +import { RunnerJobsCommand, RunnerRegistrationTokensCommand, RunnersCommand } from '../runners' import { SearchCommand } from '../search' import { SocketIOCommand } from '../socket' import { @@ -18,6 +18,7 @@ import { BlocklistCommand, LoginCommand, NotificationsCommand, + RegistrationsCommand, SubscriptionsCommand, TwoFactorCommand, UsersCommand @@ -36,6 +37,7 @@ import { StreamingPlaylistsCommand, VideosCommand, VideoStudioCommand, + VideoTokenCommand, ViewsCommand } from '../videos' import { CommentsCommand } from '../videos/comments-command' @@ -134,7 +136,6 @@ export class PeerTubeServer { streamingPlaylists?: StreamingPlaylistsCommand channels?: ChannelsCommand comments?: CommentsCommand - sql?: SQLCommand notifications?: NotificationsCommand servers?: ServersCommand login?: LoginCommand @@ -145,6 +146,12 @@ export class PeerTubeServer { videoStats?: VideoStatsCommand views?: ViewsCommand twoFactor?: TwoFactorCommand + videoToken?: VideoTokenCommand + registrations?: RegistrationsCommand + + runners?: RunnersCommand + runnerRegistrationTokens?: RunnerRegistrationTokensCommand + runnerJobs?: RunnerJobsCommand constructor (options: { serverNumber: number } | { url: string }) { if ((options as any).url) { @@ -177,9 +184,9 @@ export class PeerTubeServer { this.rtmpsPort = this.parallel ? this.randomRTMP() : 1937 this.port = 9000 + this.internalServerNumber - this.url = `http://localhost:${this.port}` - this.host = `localhost:${this.port}` - this.hostname = 'localhost' + this.url = `http://127.0.0.1:${this.port}` + this.host = `127.0.0.1:${this.port}` + this.hostname = '127.0.0.1' } setUrl (url: string) { @@ -197,7 +204,7 @@ export class PeerTubeServer { return join(root(), testDirectory, directoryName) } - async flushAndRun (configOverride?: Object, options: RunServerOptions = {}) { + async flushAndRun (configOverride?: object, options: RunServerOptions = {}) { await ServersCommand.flushTests(this.internalServerNumber) return this.run(configOverride, options) @@ -243,7 +250,7 @@ export class PeerTubeServer { const forkOptions = { silent: true, env, - detached: true, + detached: false, execArgv } @@ -257,7 +264,7 @@ export class PeerTubeServer { const onPeerTubeExit = () => rej(new Error('Process exited:\n' + aggregatedLogs)) const onParentExit = () => { - if (!this.app || !this.app.pid) return + if (!this.app?.pid) return try { process.kill(self.app.pid) @@ -307,18 +314,18 @@ export class PeerTubeServer { }) } - async kill () { - if (!this.app) return - - await this.sql.cleanup() + kill () { + if (!this.app) return Promise.resolve() - process.kill(-this.app.pid) + process.kill(this.app.pid) this.app = null + + return Promise.resolve() } private randomServer () { - const low = 10 + const low = 2500 const high = 10000 return randomInt(low, high) @@ -357,6 +364,7 @@ export class PeerTubeServer { }, storage: { tmp: this.getDirectoryPath('tmp') + '/', + tmp_persistent: this.getDirectoryPath('tmp-persistent') + '/', bin: this.getDirectoryPath('bin') + '/', avatars: this.getDirectoryPath('avatars') + '/', videos: this.getDirectoryPath('videos') + '/', @@ -416,7 +424,6 @@ export class PeerTubeServer { this.streamingPlaylists = new StreamingPlaylistsCommand(this) this.channels = new ChannelsCommand(this) this.comments = new CommentsCommand(this) - this.sql = new SQLCommand(this) this.notifications = new NotificationsCommand(this) this.servers = new ServersCommand(this) this.login = new LoginCommand(this) @@ -427,5 +434,11 @@ export class PeerTubeServer { this.videoStats = new VideoStatsCommand(this) this.views = new ViewsCommand(this) this.twoFactor = new TwoFactorCommand(this) + this.videoToken = new VideoTokenCommand(this) + this.registrations = new RegistrationsCommand(this) + + this.runners = new RunnersCommand(this) + this.runnerRegistrationTokens = new RunnerRegistrationTokensCommand(this) + this.runnerJobs = new RunnerJobsCommand(this) } }