18 lines
892 B
TypeScript
18 lines
892 B
TypeScript
import { BaseCommand } from '@adonisjs/core/ace'
|
|
import type { CommandOptions } from '@adonisjs/core/types/ace'
|
|
import db from '@adonisjs/lucid/services/db'
|
|
import { Par2Pruner } from '#services/par2_pruner'
|
|
|
|
/** The par2 prune (Par2Pruner) in one go: a whole pass from the first set, instead of the merger's 2 minutes an hour. */
|
|
export default class Par2Prune extends BaseCommand {
|
|
static commandName = 'par2:prune'
|
|
static description = 'Drops the par2 file lists the merge can no longer use: one whole pass over every set, then exits'
|
|
static options: CommandOptions = { startApp: true }
|
|
|
|
async run() {
|
|
await db.from('worker_cursors').where('name', 'par2-prune').update({ key: '' })
|
|
const round = await new Par2Pruner().round()
|
|
this.logger.info(`Pruned ${round.rows} par2 file rows: ${round.complete} complete sets, ${round.judged} judged, ${round.final} final.`)
|
|
}
|
|
}
|