def run_in_background(cls, on_message):
        """Convenience wrapper that creates a new server instance and calls
        serve_forever in a background thread.

        The server will be listening before this function returns.

        Returns:
            the IPCServer instance
        """
        server = cls(on_message)
        thread = threading.Thread(target=server.serve_forever)
        thread.daemon = True
        thread.start()
        return server
Convenience wrapper that creates a new server instance and calls
        serve_forever in a background thread.

        The server will be listening before this function returns.

        Returns:
            the IPCServer instance
        
fiftyone/service/ipc.py