def main():
    try:
        app = SESSION.query(App).filter(App.name == "CloudControl").one()
        if app.status == "stop":
            app.start_time = datetime.datetime.now()
            app.end_time = None
            app.status = "running"
    except sqlalchemy.orm.exc.NoResultFound:
        app = App(
            name="CloudControl",
            start_time=datetime.datetime.now(),
            status="running",
            platform=1
        )
        SESSION.add(app)
    except sqlalchemy.orm.exc.MultipleResultsFound:
        pass

    SESSION.commit()
    ioloop.IOLoop.current().spawn_callback(get_code)
    yield generate_case()
    yield Q.join()

    app.end_time = datetime.datetime.now()
    app.status = "stop"
    global DONE_COUNT, CASE_COUNT
    DONE_COUNT = 0
    CASE_COUNT = 0
    SESSION.commit()