index.js 933 B

1234567891011121314151617181920212223
  1. const cron = require('node-cron');
  2. const settings = [
  3. ['sync', '0 8 * * *', require('../../sync/sync-service')], // 每天早上8点同步一次
  4. ['fetch-meta', '10 8 * * *', require('./fetch-meta')], // 每天早上8点10分跑一次,跟在sync同步之后,ai自动生成标题和文案
  5. ['open-art', '0 10 * * *', require('./open-art')], // 每天早上10点跑一次,开放部分内容
  6. ['sitemap', '10 10 * * *', require('./sitemap')], // 每天10点10分跑一次,生成sitemap
  7. ]
  8. settings.forEach(setting => {
  9. let [name, schedule, job] = setting;
  10. if (!job.run) throw new Error(`Job [${name}] has no run() function`);
  11. console.log(`[${name}] run@'${schedule}' installed!`);
  12. cron.schedule(schedule, () => {
  13. let date = new Date().toLocaleString();
  14. console.log(`[${name}]@'${schedule}' running @ ${date}`);
  15. if (job.run) {
  16. job.run().then(console.log).catch(console.error);
  17. }
  18. })
  19. })