open-art.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. // video story 的内容全部开放
  25. docs = await models.Art.find({ open: false, tags: 'video-story' });
  26. for (let doc of docs) {
  27. console.log(`open video-story art: ${doc._id}`);
  28. doc.open = true;
  29. await doc.save();
  30. }
  31. }
  32. module.exports = { run }
  33. if (require.main == module) {
  34. run();
  35. }