index.js 835 B

12345678910111213141516171819202122
  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. ]
  7. settings.forEach(setting => {
  8. let [name, schedule, job] = setting;
  9. if (!job.run) throw new Error(`Job [${name}] has no run() function`);
  10. console.log(`[${name}] run@'${schedule}' installed!`);
  11. cron.schedule(schedule, () => {
  12. let date = new Date().toLocaleString();
  13. console.log(`[${name}]@'${schedule}' running @ ${date}`);
  14. if (job.run) {
  15. job.run().then(console.log).catch(console.error);
  16. }
  17. })
  18. })