PeerTube/server/lib/schedulers/youtube-dl-update-scheduler.ts

30 lines
785 B
TypeScript

import { AbstractScheduler } from './abstract-scheduler'
import { SCHEDULER_INTERVALS_MS } from '../../initializers'
import { logger } from '../../helpers/logger'
import * as request from 'request'
import { createWriteStream, ensureDir, writeFile } from 'fs-extra'
import { join } from 'path'
import { root } from '../../helpers/core-utils'
import { updateYoutubeDLBinary } from '../../helpers/youtube-dl'
export class YoutubeDlUpdateScheduler extends AbstractScheduler {
private static instance: AbstractScheduler
protected schedulerIntervalMs = SCHEDULER_INTERVALS_MS.youtubeDLUpdate
private constructor () {
super()
}
execute () {
return updateYoutubeDLBinary()
}
static get Instance () {
return this.instance || (this.instance = new this())
}
}