Exemplo n.º 1
0
def start(project):
    """
    Starts the archive server on a daemon thread.
    """
    port = _SERVER_PORT
    address = ('', port)
    server = HTTPServer(address, _RequestHandler)
    server.project = project
    def bg_task():
        try:
            print 'Server started on port %s.' % port
            server.serve_forever()
        finally:
            server.server_close()
    bg_call_later(bg_task, daemon=True)
Exemplo n.º 2
0
def start_schedule_forever(task):
    """
    Asynchronously runs the specified task until it completes.
    
    This function is intended for testing, until a full scheduler class is written.
    """
    def bg_task():
        while True:
            def fg_task():
                return (task.try_get_next_task_unit(), task.complete)
            (unit, task_complete) = fg_call_and_wait(fg_task)
            
            if unit is None:
                if task_complete:
                    break
                else:
                    sleep(_ROOT_TASK_POLL_INTERVAL)
                    continue
            unit()  # Run unit directly on this bg thread
    bg_call_later(bg_task, daemon=True)