2021-05-28 Fred Gleason <fredg@paravelsystems.com>

* Added an '--force-system-maintenance' switch to rdservice(8).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
Fred Gleason
2021-05-28 16:13:44 -04:00
parent 728551467e
commit 1fd9b4637b
4 changed files with 14 additions and 8 deletions

View File

@@ -77,8 +77,9 @@ void MainObject::checkMaintData()
//
// Run the routines
//
if(run) {
if(run||svc_force_system_maintenance) {
RunSystemMaintRoutine();
svc_force_system_maintenance=false;
}
}

View File

@@ -61,6 +61,7 @@ MainObject::MainObject(QObject *parent)
bool ok=false;
svc_startup_target=MainObject::TargetAll;
svc_force_system_maintenance=false;
//
// Check for prior instance
@@ -91,6 +92,10 @@ MainObject::MainObject(QObject *parent)
svc_startup_target=target;
rda->cmdSwitch()->setProcessed(i,true);
}
if(rda->cmdSwitch()->key(i)=="--force-system-maintenance") {
svc_force_system_maintenance=true;
rda->cmdSwitch()->setProcessed(i,true);
}
if(rda->cmdSwitch()->key(i)=="--initial-maintenance-interval") {
initial_maintenance_interval=rda->cmdSwitch()->value(i).toInt(&ok);
if(!ok) {
@@ -158,20 +163,17 @@ void MainObject::processFinishedData(int id)
RDProcess *proc=svc_processes.value(id);
if(proc->process()->exitStatus()!=QProcess::NormalExit) {
rda->syslog(LOG_WARNING,"process \"%s\" crashed!",
(proc->program()+" "+proc->arguments().join(" ").trimmed()).
toUtf8().constData());
proc->prettyCommandString().toUtf8().constData());
}
else {
if(proc->process()->exitCode()!=0) {
rda->syslog(LOG_WARNING,"process \"%s\" exited with exit code %d",
(proc->program()+" "+proc->arguments().join(" ").trimmed()).
toUtf8().constData(),
proc->prettyCommandString().toUtf8().constData(),
proc->process()->exitCode());
}
else {
rda->syslog(LOG_DEBUG,"process \"%s\" exited normally",
(proc->program()+" "+proc->arguments().join(" ").trimmed()).
toUtf8().constData());
proc->prettyCommandString().toUtf8().constData());
}
}
svc_processes.remove(id);

View File

@@ -2,7 +2,7 @@
//
// Rivendell Services Manager
//
// (C) Copyright 2018-2020 Fred Gleason <fredg@paravelsystems.com>
// (C) Copyright 2018-2021 Fred Gleason <fredg@paravelsystems.com>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2 as
@@ -71,6 +71,7 @@ class MainObject : public QObject
QTimer *svc_maint_timer;
QTimer *svc_exit_timer;
StartupTarget svc_startup_target;
bool svc_force_system_maintenance;
};