client.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. const web = require('./src/web')
  2. const config = require('./src/config')
  3. const interval = require('./src/Interval')
  4. const robot = require('./src/robot')
  5. const {getRustConfig} = require("./src/config");
  6. const {logger} = require("./src/utils/logger");
  7. const {exec} = require("child_process");
  8. try {
  9. config.init()
  10. // 启动web
  11. web.init()
  12. // 定时任务
  13. interval.init()
  14. } catch (e) {
  15. logger.error(e.stack)
  16. logger.error(e)
  17. }
  18. //node关机前的一些操作
  19. // 当进程即将退出时执行一些操作
  20. process.on('exit', (code) => {
  21. logger.info(`即将退出,退出码:${code}`);
  22. // 在这里执行清理工作
  23. });
  24. // 监听SIGINT信号(例如用户按下Ctrl+C)
  25. process.on('SIGINT', () => {
  26. logger.info('收到SIGINT信号,准备退出...');
  27. // 在这里执行清理工作
  28. process.exit(); // 这将触发exit事件
  29. });
  30. // 监听SIGTERM信号(通常是系统请求进程终止)
  31. process.on('SIGTERM', async () => {
  32. logger.info('收到SIGTERM信号,准备退出...');
  33. logger.info('关机前的一些操作...');
  34. // 关机前为了防止 node 更新,需要吧map 里面的pid 写在本地文件
  35. await robot.closeAppAll()
  36. logger.info('自我关闭~~...');
  37. // 在这里执行清理工作
  38. process.exit(); // 这将触发exit事件
  39. });
  40. // 还可以处理未捕获的异常
  41. process.on('uncaughtException', (err) => {
  42. logger.error('捕获到未处理的异常:', err);
  43. // 在这里执行清理工作
  44. process.exit(1); // 非零退出码表示异常退出
  45. });