pyca/schedule.py
def control_loop():
    '''Main loop, retrieving the schedule.
    '''
    set_service_status(Service.SCHEDULE, ServiceStatus.BUSY)
    notify.notify('READY=1')
    while not terminate():
        notify.notify('WATCHDOG=1')
        # Try getting an updated schedule
        get_schedule()
        session = get_session()
        next_event = session.query(UpcomingEvent)\
                            .filter(UpcomingEvent.end > timestamp())\
                            .order_by(UpcomingEvent.start)\
                            .first()
        if next_event:
            logger.info('Next scheduled recording: %s',
                        datetime.fromtimestamp(next_event.start))
            notify.notify('STATUS=Next scheduled recording: %s' %
                          datetime.fromtimestamp(next_event.start))
        else:
            logger.info('No scheduled recording')
            notify.notify('STATUS=No scheduled recording')
        session.close()

        next_update = timestamp() + config()['agent']['update_frequency']
        while not terminate() and timestamp() < next_update:
            time.sleep(0.1)

    logger.info('Shutting down schedule service')
    set_service_status(Service.SCHEDULE, ServiceStatus.STOPPED)
def control_loop():
    '''Main loop, retrieving the schedule.
    '''
    set_service_status(Service.SCHEDULE, ServiceStatus.BUSY)
    notify.notify('READY=1')
    while not terminate():
        notify.notify('WATCHDOG=1')
        # Try getting an updated schedule
        get_schedule()
        session = get_session()
        next_event = session.query(UpcomingEvent)\
                            .filter(UpcomingEvent.end > timestamp())\
                            .order_by(UpcomingEvent.start)\
                            .first()
        if next_event:
            logger.info('Next scheduled recording: %s',
                        datetime.fromtimestamp(next_event.start))
            notify.notify('STATUS=Next scheduled recording: %s' %
                          datetime.fromtimestamp(next_event.start))
        else:
            logger.info('No scheduled recording')
            notify.notify('STATUS=No scheduled recording')
        session.close()

        next_update = timestamp() + config()['agent']['update_frequency']
        while not terminate() and timestamp() < next_update:
            time.sleep(0.1)

    logger.info('Shutting down schedule service')
    set_service_status(Service.SCHEDULE, ServiceStatus.STOPPED)
def control_loop ( ) : set_service_status ( Service . SCHEDULE , ServiceStatus . BUSY ) notify . notify ( 'READY=1' ) while not terminate ( ) : notify . notify ( 'WATCHDOG=1' ) # Try getting an updated schedule get_schedule ( ) session = get_session ( ) next_event = session . query ( UpcomingEvent ) . filter ( UpcomingEvent . end > timestamp ( ) ) . order_by ( UpcomingEvent . start ) . first ( ) if next_event : logger . info ( 'Next scheduled recording: %s' , datetime . fromtimestamp ( next_event . start ) ) notify . notify ( 'STATUS=Next scheduled recording: %s' % datetime . fromtimestamp ( next_event . start ) ) else : logger . info ( 'No scheduled recording' ) notify . notify ( 'STATUS=No scheduled recording' ) session . close ( ) next_update = timestamp ( ) + config ( ) [ 'agent' ] [ 'update_frequency' ] while not terminate ( ) and timestamp ( ) < next_update : time . sleep ( 0.1 ) logger . info ( 'Shutting down schedule service' ) set_service_status ( Service . SCHEDULE , ServiceStatus . STOPPED )
Main loop, retrieving the schedule.
Main loop retrieving the schedule .