写在前面
近期针做了一个关于前端部分报警需求,实现每天定时数据对比,并将问题数据上报工作群,想着虽然自诩为全栈开发工程师,但是后端接触确实比较少,因此绝对有必要记录下
1、实现路径
-
1.1 基于mysql库,连接数据库,并写好sql, 在sql中基于union操作符实现多个sql的查询(在这类比较中直接在一个sql语句中写多个sql查询,实现一次查询完毕,然后回调即可)
-
1.2 对于查询成功后的结果,直接进行对比,将问题数据存在map表中
-
1.3 基于axios,将问题数据拼接直接post到群中,实现群报警
-
1.4 对于实现定时报警,有两种方式: 一种是基于node-schedule库实现,该库的核心逻辑是使用setInterval, 因此不会有新进程出现,主进程关闭则定时器自动关闭; 第二种是基于linux底层开放的crontab实现;
crontab -e可以在vim中编辑定时器,该种方式也不会起进程。 -
1.5 更新crontab后,假如在时间点没有触发,可以看命令行是否能正常运行; 同时重启下crontab,命令如下:
/etc/init.d/crond restart
至此实现了一个群报警流程