chore: backupService singleton

This commit is contained in:
Ben Allfree 2022-12-31 06:43:36 -08:00
parent fe7fab71ba
commit 5f8351ebf7
2 changed files with 6 additions and 5 deletions

View File

@ -1,7 +1,7 @@
import { logger } from '@pockethost/common'
import { DEBUG, PH_BIN_CACHE, PUBLIC_PB_SUBDOMAIN } from './constants'
import { clientService } from './db/PbClient'
import { createBackupService } from './services/BackupService'
import { backupService } from './services/BackupService'
import { ftpService } from './services/FtpService/FtpService'
import { instanceService } from './services/InstanceService'
import { pocketbase } from './services/PocketBaseService'
@ -33,14 +33,13 @@ global.EventSource = require('eventsource')
* Launch services
*/
await clientService(url)
ftpService({})
await rpcService({})
await instanceService({})
await proxyService({
coreInternalUrl: url,
})
const backupService = await createBackupService()
await backupService({})
info(`Hooking into process exit event`)
@ -48,6 +47,7 @@ global.EventSource = require('eventsource')
info(`Got signal ${signal}`)
info(`Shutting down`)
ftpService().shutdown()
;(await backupService()).shutdown()
;(await proxyService()).shutdown()
;(await instanceService()).shutdown()
;(await rpcService()).shutdown()

View File

@ -7,6 +7,7 @@ import {
BackupStatus,
createTimerManager,
logger,
mkSingleton,
RestoreInstancePayload,
RestoreInstancePayloadSchema,
RestoreInstanceResult,
@ -17,7 +18,7 @@ import { clientService } from '../db/PbClient'
import { backupInstance } from '../util/backupInstance'
import { rpcService } from './RpcService'
export const createBackupService = async () => {
export const backupService = mkSingleton(async () => {
const { dbg } = logger().create('BackupService')
const client = await clientService()
@ -122,4 +123,4 @@ export const createBackupService = async () => {
return {
shutdown,
}
}
})