Files
dbgate/packages/web/src/utility/ConnectionsPinger.js
2020-05-21 21:29:14 +02:00

23 lines
824 B
JavaScript

import React from 'react';
import _ from 'lodash';
import { useOpenedConnections, useCurrentDatabase } from './globalState';
import axios from './axios';
export default function ConnectionsPinger({ children }) {
const openedConnections = useOpenedConnections();
const currentDatabase = useCurrentDatabase();
React.useEffect(() => {
const handle = window.setInterval(() => {
axios.post('server-connections/ping', { connections: openedConnections });
const database = _.get(currentDatabase, 'name');
const conid = _.get(currentDatabase, 'connection._id');
if (conid && database) {
axios.post('database-connections/ping', { conid, database });
}
}, 30 * 1000);
return () => window.clearInterval(handle);
}, [openedConnections, currentDatabase]);
return children;
}