diff --git a/packages/web/src/utility/connectionsPinger.js b/packages/web/src/utility/connectionsPinger.ts similarity index 77% rename from packages/web/src/utility/connectionsPinger.js rename to packages/web/src/utility/connectionsPinger.ts index 4fa34971d..863ce7661 100644 --- a/packages/web/src/utility/connectionsPinger.js +++ b/packages/web/src/utility/connectionsPinger.ts @@ -2,6 +2,8 @@ import _ from 'lodash'; import { currentDatabase, openedConnectionsWithTemporary, getCurrentConfig, getOpenedConnections } from '../stores'; import { apiCall, getVolatileConnections, strmid } from './api'; import hasPermission from '../utility/hasPermission'; +import { getConfig } from './metadataLoaders'; +import { onMount } from 'svelte'; // const doServerPing = async value => { // const connectionList = getConnectionList(); @@ -57,3 +59,19 @@ export function callServerPing() { const connections = getOpenedConnections(); doServerPing(connections); } + +export async function mountStorageConnectionPing() { + const config = getCurrentConfig(); + + onMount(() => { + const conid = '__storage'; + const database = config.storageDatabase; + apiCall('database-connections/ping', { conid, database }); + const handle = setInterval(() => { + if (conid && database) { + apiCall('database-connections/ping', { conid, database }); + } + }, 20 * 1000); + return () => clearInterval(handle); + }); +}