from room_util import ROOM_CLOSE
from datetime import timedelta

if db(db.Meta).count() > 0:
    seconds_passed = (request.now - db(db.Meta).select().first().schedule).total_seconds()

    #Periodically clear stale rooms
    if seconds_passed >= 60:
        db(db.Meta).update(schedule=request.now)

        td = request.now - timedelta(seconds=60)

        stale_rooms = db((db.Room.closed == False) & (db.Room.heartbeat <= td)).select()
        for room in stale_rooms:
            ROOM_CLOSE(room)