Files
sbc-inbound/lib/fs-tracking.js
Dave Horton c324f0425b merge of features from hosted fork (#9)
major merge of features from the hosted branch that was created temporarily during the initial launch of jambonz.org
2021-06-17 16:49:37 -04:00

25 lines
692 B
JavaScript

const setName = `${(process.env.JAMBONES_CLUSTER_ID || 'default')}:active-fs`;
module.exports = (srf, logger) => {
const {retrieveSet, createSet} = srf.locals.realtimeDbHelpers;
let idx = 0;
if ('test' === process.env.NODE_ENV) {
createSet(setName, [process.env.JAMBONES_FEATURE_SERVERS]);
}
return async() => {
try {
const fs = await retrieveSet(setName);
if (0 === fs.length) {
logger.info('No available feature servers to handle incoming call');
return;
}
logger.debug({fs}, `retrieved ${setName}`);
return fs[idx++ % fs.length];
} catch (err) {
logger.error({err}, `Error retrieving ${setName}`);
}
};
};