mirror of
https://github.com/balena-os/balena-supervisor.git
synced 2025-06-22 00:57:24 +00:00
Do not use DB to store container logs info
This removes the dependence of the supervisor on the containerLogs database for remembering the last sent timestamp. This commit instead uses the supervisor startup time as the initial time for log retrieval. This might result in some logs missing for services that may start before the supervisor after a boot, or if the supervisor restarts. However this seems like an acceptable trade-off as the current implementation seems to make things worst in resource contrained environments. We'll move storing the last sent timestamp to a better storage medium in a future commit. Change-type: minor
This commit is contained in:
@ -11,7 +11,6 @@ import LocalModeManager from '../local-mode';
|
||||
import * as dbFormat from '../device-state/db-format';
|
||||
import { validateTargetContracts } from '../lib/contracts';
|
||||
import * as constants from '../lib/constants';
|
||||
import { docker } from '../lib/docker-utils';
|
||||
import log from '../lib/supervisor-console';
|
||||
import {
|
||||
ContractViolationError,
|
||||
@ -90,20 +89,6 @@ export const initialized = _.once(async () => {
|
||||
await config.initialized();
|
||||
|
||||
await imageManager.cleanImageData();
|
||||
const cleanup = async () => {
|
||||
const containers = await docker.listContainers({ all: true });
|
||||
await logger.clearOutOfDateDBLogs(_.map(containers, 'Id'));
|
||||
};
|
||||
|
||||
// Rather than relying on removing out of date database entries when we're no
|
||||
// longer using them, set a task that runs periodically to clear out the database
|
||||
// This has the advantage that if for some reason a container is removed while the
|
||||
// supervisor is down, we won't have zombie entries in the db
|
||||
|
||||
// Once a day
|
||||
setInterval(cleanup, 1000 * 60 * 60 * 24);
|
||||
// But also run it in on startup
|
||||
await cleanup();
|
||||
|
||||
await localModeManager.init();
|
||||
await serviceManager.attachToRunning();
|
||||
|
Reference in New Issue
Block a user