Skip to content

Commit

Permalink
Import oasis manager within task scrope
Browse files Browse the repository at this point in the history
  • Loading branch information
sambles committed Mar 28, 2024
1 parent fdfc226 commit 0c2373c
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 2 deletions.
8 changes: 7 additions & 1 deletion src/model_execution_worker/distributed_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
from celery.utils.log import get_task_logger
from celery.signals import (task_failure, task_revoked, worker_ready)
from natsort import natsorted
from oasislmf.manager import OasisManager
from oasislmf.model_preparation.lookup import OasisLookupFactory
from oasislmf.utils.data import get_json
from oasislmf.utils.exceptions import OasisException
Expand Down Expand Up @@ -484,6 +483,7 @@ def prepare_input_generation_params(
config = get_json(config_path)
lookup_params = {**{k: v for k, v in config.items() if not k.startswith('oed_')}, **params}

from oasislmf.manager import OasisManager
gen_files_params = OasisManager()._params_generate_files(**lookup_params)
pre_hook_params = OasisManager()._params_exposure_pre_analysis(**lookup_params)
params = paths_to_absolute_paths({**gen_files_params, **pre_hook_params}, config_path)
Expand All @@ -506,6 +506,7 @@ def pre_analysis_hook(self,
if params.get('exposure_pre_analysis_module'):
with TemporaryDir() as hook_target_dir:
params['oasis_files_dir'] = hook_target_dir
from oasislmf.manager import OasisManager
pre_hook_output = OasisManager().exposure_pre_analysis(**params)
files_modified = pre_hook_output.get('modified', {})

Expand Down Expand Up @@ -686,6 +687,7 @@ def write_input_files(self, params, run_data_uuid=None, analysis_id=None, initia
params['keys_data_csv'] = os.path.join(params['target_dir'], 'keys.csv')
params['keys_errors_csv'] = os.path.join(params['target_dir'], 'keys-errors.csv')
params['oasis_files_dir'] = params['target_dir']
from oasislmf.manager import OasisManager
OasisManager().generate_files(**params)

# clear out user-data,
Expand Down Expand Up @@ -862,6 +864,7 @@ def prepare_losses_generation_params(
config = get_json(config_path)
run_params = {**config, **params}

from oasislmf.manager import OasisManager
gen_losses_params = OasisManager()._params_generate_losses(**run_params)
post_hook_params = OasisManager()._params_post_analysis(**run_params)
params = paths_to_absolute_paths({**gen_losses_params, **post_hook_params}, config_path)
Expand All @@ -880,6 +883,7 @@ def prepare_losses_generation_params(
@app.task(bind=True, name='prepare_losses_generation_directory', **celery_conf.worker_task_kwargs)
@loss_generation_task
def prepare_losses_generation_directory(self, params, analysis_id=None, slug=None, **kwargs):
from oasislmf.manager import OasisManager
params['analysis_settings'] = OasisManager().generate_losses_dir(**params)
params['run_location'] = filestore.put(
params['model_run_dir'],
Expand Down Expand Up @@ -914,6 +918,7 @@ def generate_losses_chunk(self, params, chunk_idx, num_chunks, analysis_id=None,
'ktools_log_dir': os.path.join(params['model_run_dir'], 'log'),
}
Path(chunk_params['ktools_work_dir']).mkdir(parents=True, exist_ok=True)
from oasislmf.manager import OasisManager
OasisManager().generate_losses_partial(**chunk_params)

return {
Expand Down Expand Up @@ -948,6 +953,7 @@ def generate_losses_output(self, params, analysis_id=None, slug=None, **kwargs):
merge_dirs(d, abs_work_dir)

# Exec losses
from oasislmf.manager import OasisManager
OasisManager().generate_losses_output(**res)
if res.get('post_analysis_module', None):
OasisManager().post_analysis(**res)
Expand Down
3 changes: 2 additions & 1 deletion src/model_execution_worker/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
from celery.exceptions import WorkerLostError, Terminated


from oasislmf.manager import OasisManager
from oasislmf.utils.data import get_json
from oasislmf.utils.exceptions import OasisException
from oasislmf.utils.status import OASIS_TASK_STATUS
Expand Down Expand Up @@ -338,6 +337,7 @@ def start_analysis(analysis_settings, input_location, complex_data_files=None, *

# Run generate losses
try:
from oasislmf.manager import OasisManager
OasisManager().generate_oasis_losses(**params)
returncode = 0
except Exception as e:
Expand Down Expand Up @@ -450,6 +450,7 @@ def generate_input(self,
])

try:
from oasislmf.manager import OasisManager
OasisManager().generate_oasis_files(**params)
returncode = 0
except Exception as e:
Expand Down

0 comments on commit 0c2373c

Please sign in to comment.