Skip to content

Commit ca2e0f6

Browse files
committed
fix: wrong institution_id access
1 parent 9a1fb7f commit ca2e0f6

File tree

3 files changed

+20
-14
lines changed

3 files changed

+20
-14
lines changed

src/broker/operandi_broker/job_worker_download.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
from operandi_broker.job_worker_base import JobWorkerBase
88
from operandi_utils.constants import StateJob, StateWorkspace
99
from operandi_utils.database import (
10-
DBWorkspace, sync_db_create_page_stat, sync_db_get_hpc_slurm_job, sync_db_get_workflow_job, sync_db_get_workspace,
10+
DBWorkflowJob, DBWorkspace, DBHPCSlurmJob, DBUserAccount, sync_db_create_page_stat,
11+
sync_db_get_hpc_slurm_job, sync_db_get_user_account, sync_db_get_workflow_job, sync_db_get_workspace,
1112
sync_db_update_workflow_job, sync_db_update_workspace)
1213

1314

@@ -36,18 +37,21 @@ def _consumed_msg_callback(self, ch, method, properties, body):
3637
return
3738

3839
try:
39-
db_hpc_slurm_job = sync_db_get_hpc_slurm_job(self.current_message_job_id)
40+
db_hpc_slurm_job: DBHPCSlurmJob = sync_db_get_hpc_slurm_job(self.current_message_job_id)
4041
slurm_job_id = db_hpc_slurm_job.hpc_slurm_job_id
4142

42-
db_workflow_job = sync_db_get_workflow_job(self.current_message_job_id)
43+
db_workflow_job: DBWorkflowJob = sync_db_get_workflow_job(self.current_message_job_id)
4344
workspace_id = db_workflow_job.workspace_id
4445
job_id = db_workflow_job.job_id
4546
job_dir = db_workflow_job.job_dir
4647

47-
db_workspace = sync_db_get_workspace(workspace_id)
48+
db_workspace: DBWorkspace = sync_db_get_workspace(workspace_id)
4849
ws_dir = db_workspace.workspace_dir
49-
institution_id = db_workspace.institution_id
5050
user_id = db_workspace.user_id
51+
pages_amount = db_workspace.pages_amount
52+
53+
db_user: DBUserAccount = sync_db_get_user_account(user_id=user_id)
54+
institution_id = db_user.institution_id
5155
except RuntimeError as error:
5256
self.log.warning(f"Database run-time error has occurred: {error}")
5357
self._handle_msg_failure(interruption=False)
@@ -64,9 +68,8 @@ def _consumed_msg_callback(self, ch, method, properties, body):
6468
self.__download_results_from_hpc(job_dir=job_dir, workspace_dir=ws_dir)
6569
self.log.info(f"Setting new workspace state `{StateWorkspace.READY}` of workspace_id: {workspace_id}")
6670
updated_file_groups = self.__extract_updated_file_groups(db_workspace=db_workspace)
67-
db_workspace = sync_db_update_workspace(
71+
db_workspace: DBWorkspace = sync_db_update_workspace(
6872
find_workspace_id=workspace_id, state=StateWorkspace.READY, file_groups=updated_file_groups)
69-
pages_amount = db_workspace.pages_amount
7073
self.log.info(f"Creating page stat succeeded with quantity {pages_amount}")
7174
sync_db_create_page_stat(
7275
stat_type="succeeded",
@@ -82,8 +85,8 @@ def _consumed_msg_callback(self, ch, method, properties, body):
8285
if previous_job_state == StateJob.HPC_FAILED:
8386
self.hpc_io_transfer.download_slurm_job_log_file(slurm_job_id, job_dir)
8487
self.log.info(f"Setting new workspace state `{StateWorkspace.READY}` of workspace_id: {workspace_id}")
85-
db_workspace = sync_db_update_workspace(find_workspace_id=workspace_id, state=StateWorkspace.READY)
86-
pages_amount = db_workspace.pages_amount
88+
db_workspace: DBWorkspace = sync_db_update_workspace(
89+
find_workspace_id=workspace_id, state=StateWorkspace.READY)
8790
self.log.info(f"Creating page stat failed with quantity {pages_amount}")
8891
sync_db_create_page_stat(
8992
stat_type="failed",

src/broker/operandi_broker/job_worker_submit.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88

99
from operandi_utils.constants import StateJob, StateWorkspace
1010
from operandi_utils.database import (
11-
DBWorkflow, DBWorkflowJob, DBWorkspace,
12-
sync_db_create_page_stat, sync_db_get_workflow, sync_db_get_workflow_job, sync_db_get_workspace,
13-
sync_db_create_hpc_slurm_job, sync_db_update_workflow_job, sync_db_update_workspace)
11+
DBUserAccount, DBWorkflow, DBWorkflowJob, DBWorkspace,
12+
sync_db_create_page_stat, sync_db_get_user_account, sync_db_get_workflow, sync_db_get_workflow_job,
13+
sync_db_get_workspace, sync_db_create_hpc_slurm_job, sync_db_update_workflow_job, sync_db_update_workspace)
1414
from operandi_utils.hpc.constants import (
1515
HPC_BATCH_SUBMIT_WORKFLOW_JOB, HPC_JOB_DEADLINE_TIME_REGULAR, HPC_JOB_DEADLINE_TIME_TEST, HPC_JOB_QOS_SHORT,
1616
HPC_JOB_QOS_DEFAULT)
@@ -157,12 +157,14 @@ def prepare_and_trigger_slurm_job(
157157
# self.log.info("HPC transfer connection renewed successfully.")
158158

159159
try:
160-
db_workspace = sync_db_update_workspace(
160+
db_workspace: DBWorkspace = sync_db_update_workspace(
161161
find_workspace_id=workspace_id, state=StateWorkspace.TRANSFERRING_TO_HPC)
162162
sync_db_update_workflow_job(find_job_id=workflow_job_id, job_state=StateJob.TRANSFERRING_TO_HPC)
163163
self.hpc_io_transfer.pack_and_put_slurm_workspace(
164164
ocrd_workspace_dir=workspace_dir, workflow_job_id=workflow_job_id,
165165
nextflow_script_path=workflow_script_path)
166+
db_user: DBUserAccount = sync_db_get_user_account(db_workspace.user_id)
167+
institute_id = db_user.institution_id
166168
except Exception as error:
167169
raise Exception(f"Failed to pack and put slurm workspace: {error}")
168170

@@ -180,7 +182,7 @@ def prepare_and_trigger_slurm_job(
180182
sync_db_create_page_stat(
181183
stat_type="failed",
182184
quantity=ws_pages_amount,
183-
institution_id=db_workspace.institution_id,
185+
institution_id=institute_id,
184186
user_id=db_workspace.user_id,
185187
workspace_id=workspace_id,
186188
workflow_job_id=workflow_job_id

src/utils/operandi_utils/database/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
"db_update_workflow_job",
3131
"db_update_workspace",
3232
"sync_db_create_hpc_slurm_job",
33+
"sync_db_create_page_stat",
3334
"sync_db_create_user_account",
3435
"sync_db_create_workflow",
3536
"sync_db_create_workflow_job",

0 commit comments

Comments
 (0)