delete_old_chunks.js 943 B

123456789101112131415161718192021222324252627282930313233343536
  1. #!/usr/bin/env node
  2. 'use strict'
  3. const commandLineArgs = require('command-line-args')
  4. const { chunkStore } = require('../')
  5. async function deleteOldChunks(options) {
  6. const deletedChunksTotal = await chunkStore.deleteOldChunks(options)
  7. console.log(`Deleted ${deletedChunksTotal} old chunks`)
  8. }
  9. exports.deleteOldChunks = deleteOldChunks
  10. if (require.main === module) {
  11. const options = commandLineArgs([
  12. { name: 'batch-size', type: Number },
  13. { name: 'max-batches', type: Number },
  14. { name: 'min-age', type: Number },
  15. { name: 'timeout', type: Number },
  16. { name: 'verbose', type: Boolean, alias: 'v', defaultValue: false },
  17. ])
  18. deleteOldChunks({
  19. batchSize: options['batch-size'],
  20. maxBatches: options['max-batches'],
  21. timeout: options.timeout,
  22. minAgeSecs: options['min-age'],
  23. })
  24. .then(() => {
  25. process.exit()
  26. })
  27. .catch(err => {
  28. console.error(err)
  29. process.exit(1)
  30. })
  31. }