Ticket #494: scheduler-lowDB-load.diff

File scheduler-lowDB-load.diff, 1.7 KB (added by Stuart Auchterlonie, 14 years ago)

Make background reschedules nicer.

  • libs/libmythtv/eithelper.cpp

    old new  
    124124    {
    125125        VERBOSE(VB_SCHEDULE,
    126126                QString("EITHelper: running scheduler to check for updates"));
    127         ScheduledRecording::signalChange(-1);
     127        ScheduledRecording::signalChange(-2);
    128128    }
    129129}
    130130
  • programs/mythbackend/scheduler.cpp

    old new  
    10211021                VERBOSE(VB_GENERAL, msg);
    10221022                if (recordid != 0)
    10231023                {
    1024                     if (recordid == -1)
     1024                    if (recordid < 0)
    10251025                        reschedQueue.clear();
    10261026                    UpdateMatches(recordid);
    10271027                }
     
    16321632
    16331633void Scheduler::UpdateMatches(int recordid) {
    16341634    struct timeval dbstart, dbend;
     1635    bool eitReschedule = false;
     1636
     1637    if (recordid == -2)
     1638    {
     1639        eitReschedule = true;
     1640        recordid = -1;
     1641    }
    16351642
    16361643    MSqlQuery query(MSqlQuery::SchedCon());
    16371644    query.prepare("DELETE FROM recordmatch "
     
    17331740                .arg(((dbend.tv_sec  - dbstart.tv_sec) * 1000000 +
    17341741                      (dbend.tv_usec - dbstart.tv_usec)) / 1000000.0));
    17351742
     1743        if (eitReschedule) usleep(1000000);    // EIT Crawl Reschedule.
    17361744    }
    17371745
    17381746    VERBOSE(VB_SCHEDULE, " +-- Done.");