123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- const robot = require('./robot')
- const web = require('./web')
- const {logger} = require("./utils/logger");
- /*******
- * 定时任务
- * **** */
- function init() {
- reportNodeStatus()
- reportDel()
- reportStatus()
- reportAmount()
- logger.info('--定时任务 启动');
- }
- function reportNodeStatus() {
- const intervalInMilliseconds = 5000;
- setInterval(() => {
- // logger.info('当前1',robot.appMap);
- web.robotNodeStatus()
- }, intervalInMilliseconds);
- }
- //定时清理机器人
- function reportDel() {
- const intervalInMilliseconds = 2000;
- setInterval(() => {
- // logger.info('当前1',robot.appMap);
- robot.appMap.forEach((value, key) => {
- if (value.id !== -1) {
- // logger.info(`清理没用机器人开始111!`,value);
- robot.delRobot(value)
- }
- });
- }, intervalInMilliseconds);
- }
- // 5秒扫描本机所有机器人状态,进行上报
- function reportStatus() {
- const intervalInMilliseconds = 5000;
- setInterval(() => {
- robot.appMap.forEach((value, key) => {
- // logger.info('当前',robot.appMap);
- if (value.id !== -1 && value.threadStatus !== robot.RobotStatus.STOPPED) {
- robot.robotStatus(value)
- }
- });
- }, intervalInMilliseconds);
- }
- // 2秒一次对正在运行的,服务器进行余额比对,发生变化则上报
- function reportAmount() {
- // 设置定时器,每隔一定时间(比如每隔5秒)发送一次GET请求
- const intervalInMilliseconds = 2000;
- setInterval(() => {
- // logger.info('当前2',robot.appMap);
- robot.appMap.forEach((value, key) => {
- var thisTime = new Date().getTime()
- if (value.threadStatus === robot.RobotStatus.RUNNING &&
- (thisTime - value.threadStartTime) > (1000 * 10)
- ) {
- robot.robotAmount(value)
- }
- });
- }, intervalInMilliseconds);
- }
- module.exports = {
- init
- };
|