30 lines
785 B
TypeScript
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())
|
|
}
|
|
}
|