Blame view

lib/modem-info.js 963 Bytes
3522ae5bc   Adhidarma Hadiwinoto   MODEM-INFO: stuck...
1
2
  const MAX_LAST_DATA_AGE_MS = 2 * 60 * 1000;
  const INTERVAL_BETWEEN_IDLE_CHECK_MS = 30 * 1000;
2e577f57b   Adhidarma Hadiwinoto   modem-info.js
3
  const config = require('komodo-sdk/config');
3522ae5bc   Adhidarma Hadiwinoto   MODEM-INFO: stuck...
4
  const logger = require('komodo-sdk/logger');
2e577f57b   Adhidarma Hadiwinoto   modem-info.js
5
6
7
8
9
10
11
  
  const modemInfo = {
      device: config.modem.device,
      manufacturer: null,
      model: null,
      imei: null,
      imsi: null,
2e577f57b   Adhidarma Hadiwinoto   modem-info.js
12
13
14
15
16
17
      cops: null,
      networkId: null,
      networkName: null,
      signalStrength: null,
      signalStrengthTs: null,
      signalStrengthTsReadable: null,
3522ae5bc   Adhidarma Hadiwinoto   MODEM-INFO: stuck...
18
19
20
      startTime: new Date(),
      lastWriteTs: null,
      lastReadTs: null,
2e577f57b   Adhidarma Hadiwinoto   modem-info.js
21
  };
3522ae5bc   Adhidarma Hadiwinoto   MODEM-INFO: stuck...
22
23
24
25
26
27
28
29
30
  if (!config.disable_idle_check) {
      setInterval(() => {
          const deltaMs = new Date() - Math.max(modemInfo.lastWriteTs, modemInfo.startTime);
          if (deltaMs >= (config.max_last_data_age_ms || MAX_LAST_DATA_AGE_MS)) {
              logger.warn(`Modem idle for ${deltaMs} ms. Modem stucked? Terminating!`);
              process.exit(1);
          }
      }, INTERVAL_BETWEEN_IDLE_CHECK_MS);
  }
2e577f57b   Adhidarma Hadiwinoto   modem-info.js
31
  module.exports = modemInfo;