def build_managed_compute_server(mtype): storage_name = "qcf_compute_server_test" adapter_client = build_adapter_clients(mtype, storage_name=storage_name) # Build a server with the thread in a outer context loop # Not all adapters play well with internal loops with loop_in_thread() as loop: server = FractalServer(port=find_open_port(), storage_project_name=storage_name, loop=loop, queue_socket=adapter_client, ssl_options=False) # Clean and re-init the database reset_server_database(server) # Build Client and Manager from qcfractal.interface import FractalClient client = FractalClient(server) from qcfractal.queue import QueueManager manager = QueueManager(client, adapter_client) yield client, server, manager # Close down and clean the adapter manager.close_adapter() manager.stop()
def managed_compute_server(request, postgres_server): """ A FractalServer with compute associated parametrize for all managers. """ storage_name = "test_qcfractal_compute_server" postgres_server.create_database(storage_name) adapter_client = build_adapter_clients(request.param, storage_name=storage_name) # Build a server with the thread in a outer context loop # Not all adapters play well with internal loops with loop_in_thread() as loop: server = FractalServer(port=find_open_port(), storage_project_name=storage_name, storage_uri=postgres_server.database_uri(), loop=loop, queue_socket=adapter_client, ssl_options=False) # Clean and re-init the database reset_server_database(server) # Build Client and Manager from qcfractal.interface import FractalClient client = FractalClient(server) from qcfractal.queue import QueueManager manager = QueueManager(client, adapter_client) yield client, server, manager # Close down and clean the adapter manager.close_adapter() manager.stop()