diff --git a/medcat-trainer/envs/env b/medcat-trainer/envs/env index ba7c52d93..57dcfb08f 100644 --- a/medcat-trainer/envs/env +++ b/medcat-trainer/envs/env @@ -46,3 +46,6 @@ EMAIL_USER=example@cogstack.org EMAIL_PASS="to be changed" EMAIL_HOST=mail.cogstack.org EMAIL_PORT=465 + +# Remote model service timeout in seconds +REMOTE_MODEL_SERVICE_TIMEOUT=60 diff --git a/medcat-trainer/envs/env-prod b/medcat-trainer/envs/env-prod index 7ba554762..39bd1ff9f 100644 --- a/medcat-trainer/envs/env-prod +++ b/medcat-trainer/envs/env-prod @@ -44,4 +44,7 @@ LOAD_NUM_DOC_PAGES=10 EMAIL_USER=example@cogstack.org EMAIL_PASS="to be changed" EMAIL_HOST=mail.cogstack.org -EMAIL_PORT=465 \ No newline at end of file +EMAIL_PORT=465 + +# Remote model service timeout in seconds +REMOTE_MODEL_SERVICE_TIMEOUT=60 \ No newline at end of file diff --git a/medcat-trainer/webapp/api/api/utils.py b/medcat-trainer/webapp/api/api/utils.py index b731ad36f..71e2baa7c 100644 --- a/medcat-trainer/webapp/api/api/utils.py +++ b/medcat-trainer/webapp/api/api/utils.py @@ -64,8 +64,11 @@ def call_remote_model_service(service_url, text): "text": text } + # Get timeout from environment variable, default to 60 seconds + timeout = int(os.getenv('REMOTE_MODEL_SERVICE_TIMEOUT', '60')) + try: - response = requests.post(api_url, json=payload, timeout=60) + response = requests.post(api_url, json=payload, timeout=timeout) response.raise_for_status() result = response.json() diff --git a/medcat-trainer/webapp/api/api/views.py b/medcat-trainer/webapp/api/api/views.py index 1c5354c74..587c12cae 100644 --- a/medcat-trainer/webapp/api/api/views.py +++ b/medcat-trainer/webapp/api/api/views.py @@ -19,6 +19,8 @@ from rest_framework.response import Response from medcat.components.ner.trf.deid import DeIdModel from medcat.utils.cdb_utils import ch2pt_from_pt2ch, get_all_ch, snomed_ct_concept_path +from medcat.utils.config_utils import temp_changed_config + from .admin import download_projects_with_text, download_projects_without_text, \ import_concepts_from_cdb @@ -678,10 +680,8 @@ def annotate_text(request): logger.warning(f'Failed to get children for CUI {parent_cui}: {e}') cuis_set = expanded_cuis - curr_cuis = cat.config.components.linking.filters - cat.config.components.linking.filters.cuis = cuis_set - spacy_doc = cat(message) - cat.config.components.linking.filters = curr_cuis + with temp_changed_config(cat.config.components.linking, 'filters', cuis_set): + spacy_doc = cat(message) ents = [] anno_tkns = []