mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-10-10 16:43:35 +02:00
2020-08-07 Fred Gleason <fredg@paravelsystems.com>
* Added a 'SYSTEM.RSS_PROCESSOR_STATION' field to the database. * Added a 'PODCASTS.EXPIRATION_DATETIME' field to the database. * Dropped the 'PODCASTS.SHELF_LIFE' field from the database. * Incremented the database version to 329. * Modified convention to use local system time for all podcast components. * Added 'RDPodcast::expirationDateTime()' and 'RDPodcast::setExpirationDateTime()' methods. * Removed 'RDPodcast::shelfLife()' and 'RDPodcast::setShelfLife()' methods. * Added an rdrssd(8) daemon. * Removed the rdpurgecasts(8) utility. * Added 'RDSystem::rssProcessorStation()' and 'RDSystem::setRssProcessorStation()' methods. * Added a 'Process RSS Updates' control to the 'System-Wide Settings' dialog in rdadmin(1). Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// Rivendell Maintenance Routines
|
||||
//
|
||||
// (C) Copyright 2008-2019 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2008-2020 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
|
||||
@@ -83,11 +83,6 @@ void MainObject::RunSystemMaintRoutine()
|
||||
args.push_back("--system");
|
||||
RunEphemeralProcess(RDSERVICE_SYSTEMMAINT_ID,
|
||||
QString(RD_PREFIX)+"/bin/rdmaint",args);
|
||||
|
||||
args.clear();
|
||||
RunEphemeralProcess(RDSERVICE_PURGECASTS_ID,
|
||||
QString(RD_PREFIX)+"/bin/rdpurgecasts",args);
|
||||
|
||||
rda->syslog(LOG_INFO,"ran system-wide maintenance routines");
|
||||
}
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// Rivendell Services Manager
|
||||
//
|
||||
// (C) Copyright 2018 Fred Gleason <fredg@paravelsystems.com>
|
||||
// (C) Copyright 2018-2020 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
|
||||
@@ -34,9 +34,9 @@
|
||||
#define RDSERVICE_RDPADENGINED_ID 4
|
||||
#define RDSERVICE_RDVAIRPLAYD_ID 5
|
||||
#define RDSERVICE_RDREPLD_ID 6
|
||||
#define RDSERVICE_LOCALMAINT_ID 7
|
||||
#define RDSERVICE_SYSTEMMAINT_ID 8
|
||||
#define RDSERVICE_PURGECASTS_ID 9
|
||||
#define RDSERVICE_RDRSSD_ID 7
|
||||
#define RDSERVICE_LOCALMAINT_ID 8
|
||||
#define RDSERVICE_SYSTEMMAINT_ID 9
|
||||
#define RDSERVICE_LAST_ID 10
|
||||
#define RDSERVICE_FIRST_DROPBOX_ID 100
|
||||
|
||||
@@ -46,7 +46,8 @@ class MainObject : public QObject
|
||||
public:
|
||||
enum StartupTarget {TargetCaed=0,TargetRipcd=1,TargetRdcatchd=2,
|
||||
TargetRdpadd=3,TargetRdpadengined=4,
|
||||
TargetRdvairplayd=5,TargetRdrepld=6,TargetAll=7};
|
||||
TargetRdvairplayd=5,TargetRdrepld=6,
|
||||
TargetRdrssd=7,TargetAll=8};
|
||||
MainObject(QObject *parent=0);
|
||||
|
||||
private slots:
|
||||
|
@@ -40,6 +40,7 @@ bool MainObject::Startup(QString *err_msg)
|
||||
//
|
||||
// Kill Stale Programs
|
||||
//
|
||||
KillProgram("rdrssd");
|
||||
KillProgram("rdrepld");
|
||||
KillProgram("rdvairplayd");
|
||||
KillProgram("rdpadengined");
|
||||
@@ -180,6 +181,31 @@ bool MainObject::Startup(QString *err_msg)
|
||||
return true;
|
||||
}
|
||||
|
||||
//
|
||||
// rdrssd(8)
|
||||
//
|
||||
sql=QString("select RSS_PROCESSOR_STATION from SYSTEM");
|
||||
q=new RDSqlQuery(sql);
|
||||
if(q->first()) {
|
||||
if(q->value(0).toString().toLower()==rda->station()->name().toLower()) {
|
||||
svc_processes[RDSERVICE_RDRSSD_ID]=
|
||||
new RDProcess(RDSERVICE_RDRSSD_ID,this);
|
||||
args.clear();
|
||||
svc_processes[RDSERVICE_RDRSSD_ID]->
|
||||
start(QString(RD_PREFIX)+"/sbin/rdrssd",args);
|
||||
if(!svc_processes[RDSERVICE_RDRSSD_ID]->process()->waitForStarted(-1)) {
|
||||
*err_msg=tr("unable to start rdrssd(8)")+": "+
|
||||
svc_processes[RDSERVICE_RDRSSD_ID]->errorText();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if(svc_startup_target==MainObject::TargetRdrssd) {
|
||||
fprintf(stderr,"Startup target rdrssd(8) reached\n");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
delete q;
|
||||
|
||||
if(!StartDropboxes(err_msg)) {
|
||||
return false;
|
||||
}
|
||||
@@ -352,6 +378,9 @@ QString MainObject::TargetCommandString(MainObject::StartupTarget target) const
|
||||
case MainObject::TargetRdrepld:
|
||||
return QString("--end-startup-after-rdrepld");
|
||||
|
||||
case MainObject::TargetRdrssd:
|
||||
return QString("--end-startup-after-rdrssd");
|
||||
|
||||
case MainObject::TargetAll:
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user