open-art.js 958 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /**
  2. * 每天运行一次,每次放开100条记录
  3. */
  4. const models = require('../../models');
  5. const openCount = 100; // 每天开放的内容量
  6. async function run() {
  7. let done = 0;
  8. let duration = 0;
  9. let hour, minute, second;
  10. let start = Date.now();
  11. let docs = await models.Art.find({ open: false }).sort({ lastMod: 1 }).limit(openCount);
  12. let total = docs.length;
  13. console.log('total:', total);
  14. for (let doc of docs) {
  15. doc.open = true;
  16. await doc.save();
  17. done++;
  18. duration = (Date.now() - start) / 1000;
  19. hour = (Math.floor(duration / 60 / 60)).toString().padStart(2, '0');
  20. minute = (Math.floor(duration / 60) % 60).toString().padStart(2, '0');
  21. second = (Math.floor(duration) % 60).toString().padStart(2, '0');
  22. console.log('progress: ' + Math.floor((100 * done / total)) + '% used time: ' + hour + ':' + minute + ':' + second);
  23. }
  24. }
  25. module.exports = { run }
  26. if (require.main == module) {
  27. run();
  28. }