88from models_library .projects_nodes_io import NodeID
99from pydantic import HttpUrl
1010from servicelib .fastapi .app_state import SingletonInAppStateMixin
11+ from servicelib .logging_utils import log_context
1112
1213from .api .dependencies .webserver_http import get_webserver_session
1314from .models .schemas .jobs import Job , JobInputs
2425
2526class JobService (SingletonInAppStateMixin ):
2627 app_state_name = "JobService"
27- _webserver_api : AuthSession
28+ _web_rest_api : AuthSession
2829
2930 def __init__ (
30- self , webserver_api : Annotated [AuthSession , Depends (get_webserver_session )]
31+ self , web_rest_api : Annotated [AuthSession , Depends (get_webserver_session )]
3132 ):
32- self ._webserver_api = webserver_api
33+ self ._web_rest_api = web_rest_api
3334
3435 async def create_job (
3536 self ,
@@ -39,23 +40,25 @@ async def create_job(
3940 parent_project_uuid : ProjectID | None ,
4041 parent_node_id : NodeID | None ,
4142 url_for : Callable [..., HttpUrl ],
42- hidden : bool
43+ hidden : bool ,
4344 ) -> tuple [Job , ProjectGet ]:
4445 # creates NEW job as prototype
4546 pre_job = Job .create_job_from_solver_or_program (
4647 solver_or_program_name = solver_or_program .name , inputs = inputs
4748 )
48- _logger .debug ("Creating Job '%s'" , pre_job .name )
49+ with log_context (
50+ logger = _logger , level = logging .DEBUG , msg = f"Creating job { pre_job .name } "
51+ ):
52+ project_in : ProjectCreateNew = create_new_project_for_job (
53+ solver_or_program , pre_job , inputs
54+ )
55+ new_project : ProjectGet = await self ._web_rest_api .create_project (
56+ project_in ,
57+ is_hidden = hidden ,
58+ parent_project_uuid = parent_project_uuid ,
59+ parent_node_id = parent_node_id ,
60+ )
4961
50- project_in : ProjectCreateNew = create_new_project_for_job (
51- solver_or_program , pre_job , inputs
52- )
53- new_project : ProjectGet = await self ._webserver_api .create_project (
54- project_in ,
55- is_hidden = hidden ,
56- parent_project_uuid = parent_project_uuid ,
57- parent_node_id = parent_node_id ,
58- )
5962 assert new_project # nosec
6063 assert new_project .uuid == pre_job .id # nosec
6164
0 commit comments