1
0
Code Issues Pull Requests Projects Releases Wiki Activity GitHub Gitee
tools/index.js

49 lines
1.2 KiB
JavaScript
Raw Normal View History

2022-07-23 23:48:55 +08:00
'use strict';
2022-07-24 00:11:13 +08:00
const dotenv = require('dotenv');
const schedule = require('node-schedule');
2022-07-23 23:48:55 +08:00
/**
* 环境变量
*/
process.env = {}; // 清除系统自带的环境变量
dotenv.config('./.env'); // 导入 .env 文件中的环境变量
// console.log(process.env);
// 调试模式
2022-07-24 00:11:13 +08:00
const DEBUG_MODE = process.env.DEBUG_MODE == true;
const EXECUTE_AT_STARTUP = process.env.EXECUTE_AT_STARTUP == true;
2022-07-23 23:48:55 +08:00
if (DEBUG_MODE) {
console.log('DEBUG_MODE is on');
console.log('Environment variables: ', process.env);
}
/**
* 引入模块
*/
const get_hotband = require('./src/get_hotband');
2022-07-23 21:12:48 +08:00
2022-07-23 23:48:55 +08:00
/**
* 开始运行
*/
console.log("Start running ...");
2022-07-24 00:11:13 +08:00
// 程序主函数
function start() {
// 爬取热搜数据
get_hotband.main();
}
// 调试模式下,程序一启动就首先运行一次
if (EXECUTE_AT_STARTUP) {
process.stdout.write("程序启动时,立即运行一次\t");
start();
}
// 每分钟的第 5 秒执行一次
// 这里指定第 5 秒是为了稍微与微博服务器热榜更新时间错开,避免因为微秒级误差造成拉取两次相同的热榜数据
// refer: https://www.npmjs.com/package/node-schedule
const scheduleJob = schedule.scheduleJob('05 * * * * *', start);