diff --git a/ventis/cli.py b/ventis/cli.py index 65a5ad5..31d8d5d 100644 --- a/ventis/cli.py +++ b/ventis/cli.py @@ -188,7 +188,7 @@ def cmd_build(args): stub_paths = [] for yaml_path in yaml_files: base_name = os.path.splitext(os.path.basename(yaml_path))[0] - output_path = os.path.join(stubs_dir, f"{base_name}_stub.py") + output_path = os.path.join(stubs_dir, f"{base_name}.py") logger.info("Generating stub: %s -> %s", yaml_path, output_path) generate_stub(yaml_path, output_path) stub_paths.append(output_path) diff --git a/ventis/controller/instance_manager.py b/ventis/controller/instance_manager.py index cb4db16..936c381 100644 --- a/ventis/controller/instance_manager.py +++ b/ventis/controller/instance_manager.py @@ -71,7 +71,7 @@ def ensure_instances(self, agent_specs): } ) - max_workers = int(os.environ.get("VENTIS_MAX_AGENT_INSTANCES", 8)) + max_workers = min(len(jobs),os.cpu_count()*100) provisioned = [] if jobs: with ThreadPoolExecutor(max_workers=max_workers) as executor: diff --git a/ventis/controller/utils/sqlalchemy.py b/ventis/controller/utils/sqlalchemy.py index 313171f..bfe111a 100644 --- a/ventis/controller/utils/sqlalchemy.py +++ b/ventis/controller/utils/sqlalchemy.py @@ -32,12 +32,31 @@ ) +_CREATE_TABLE = text( + f""" + CREATE TABLE IF NOT EXISTS {TABLE_NAME} ( + future_id TEXT PRIMARY KEY, + session_id TEXT, + workflow TEXT, + agent TEXT, + execution_time REAL, + cpu_resource REAL, + gpu_resource REAL, + created_at TEXT, + updated_at TEXT + ) + """ +) + + def _get_engine(database_url): global _engine if _engine is None: _engine = create_engine( os.environ.get("VENTIS_DATABASE_URL", str(database_url)) ) + with _engine.begin() as conn: + conn.execute(_CREATE_TABLE) return _engine diff --git a/ventis/stub_generator.py b/ventis/stub_generator.py index e0d2cf0..eb7f1b7 100644 --- a/ventis/stub_generator.py +++ b/ventis/stub_generator.py @@ -302,7 +302,6 @@ def generate_docker( # Copy general agent files files_to_copy = [ # (source_path, destination_filename) - (os.path.abspath(agent_file), os.path.basename(agent_file)), (os.path.join(script_dir, "future.py"), "future.py"), (os.path.join(script_dir, "ventis_context.py"), "ventis_context.py"), ( @@ -322,6 +321,8 @@ def generate_docker( files_to_copy.append( (os.path.abspath(stub_file), os.path.basename(stub_file)) ) + + files_to_copy.append((os.path.abspath(agent_file), os.path.basename(agent_file))) # Copy gRPC generated stubs if they exist if os.path.isdir(grpc_stubs_dir):