一、做这个小东西的背景
因为服务器上不知道什么原因导致某个进程总是几天就把cpu拉满
导致小程序上的请求没有得到响应,但是又没时间去找什么问题,因为开发这个后端的同事在忙别的项目比较急,所以就只能由我来暂时监控下,出了问题可以跟他讲
二、小工具的目的确定与技术选型
- 首先是我需要实现个功能,定时调用接口,然后有异常给我桌面弹通知
- 确定之后,再来看什么技术实现,因为我本身是前端开发,使用javascript相对比较熟悉,然后node可以直接运行,不需要依赖浏览器,便选择用node.js来实现这个小工具,电脑需要有node环境与安装了
npm
。 - 这个东西需要电脑开着就寄几动,便包一层bat来启动,然后在放启动文件里让它开机就寄几动
三、开始动手开发
- 首先创建一个
check
文件夹用来放置需要执行的js文件checkRequest.js
- 需要使用到一个node库来实现桌面通知的功能
node-notifier
,在check
文件夹下npm i node-notifier
安装这个库 - 这个是我的文件结构
- 然后再来编写定时任务程序
// 引入库
const notifier = require("node-notifier");
const check = async () => {
try {
await fetch(
"https://xxx.xxx.xxx"
);
} catch (e) {
showDesktopNotification('警告', `小程序接口连接异常,${e}`);
}
};
const showDesktopNotification = (title, message) => {
notifier.notify({
title,
message,
sound: true,
wait: true,
});
};
// 定时任务
const interval = 1000 * 60 * 1; // 1分钟执行一次
// 定时发送检查程序是否成功运行
setInterval(check, interval);
showDesktopNotification('提示', '检查小程序接口程序启动')
// 运行程序
check();
- 程序写完之后,让他开机启动就行,需要新建一个.bat文件,用vscode打开,然后编写以下代码,文件路径就是放置js的文件路径
@echo off
node D:\code\working\check\checkRequest.js
- 再将bat文件放进启动文件夹就ok了
C:\Users\xxx(用户)\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
四、然后就结束了,小工具搞定
重启一下电脑就可以看到,桌面的右下角弹出了一个启动的通知
有个不完美的地方就是会弹出一个运行窗口,先最小化不管就好,切记不能关掉,关掉程序就中止了!!!!!!
可能后续可以用electron来做成桌面端应用程序