diff --git a/envs/env b/envs/env index 1ff09233..1b3aa62f 100644 --- a/envs/env +++ b/envs/env @@ -30,3 +30,6 @@ DB_BACKUP_DIR=/home/api/db-backup # Resubmit all on startup RESUBMIT_ALL_ON_STARTUP=1 + +# Front end env vars +LOAD_NUM_DOC_PAGES=10 diff --git a/envs/env-prod b/envs/env-prod index 317a7e87..0026437c 100644 --- a/envs/env-prod +++ b/envs/env-prod @@ -31,3 +31,7 @@ DB_BACKUP_DIR=/home/api/db-backup # Resubmit all on startup RESUBMIT_ALL_ON_STARTUP=1 + +# Front end env vars +LOAD_NUM_DOC_PAGES=10 + diff --git a/webapp/api/api/views.py b/webapp/api/api/views.py index fdfc2a1f..df20b4e7 100644 --- a/webapp/api/api/views.py +++ b/webapp/api/api/views.py @@ -214,6 +214,11 @@ class OPCSCodeViewSet(viewsets.ModelViewSet): filterset_fields = ['code', 'id'] +@api_view(http_method_names=['GET']) +def get_anno_tool_conf(_): + return Response({k: v for k,v in os.environ.items()}) + + @api_view(http_method_names=['POST']) def prepare_documents(request): # Get the user diff --git a/webapp/api/core/settings.py b/webapp/api/core/settings.py index 347f763f..00b938a8 100644 --- a/webapp/api/core/settings.py +++ b/webapp/api/core/settings.py @@ -181,7 +181,7 @@ ] # BG TASKS -MAX_ATTEMPTS = 1 +MAX_ATTEMPTS = 1 MAX_RUN_TIME = 60*60*10 BACKGROUND_TASK_RUN_ASYNC = True BACKGROUND_TASK_ASYNC_THREADS = 4 diff --git a/webapp/api/core/urls.py b/webapp/api/core/urls.py index 12040f23..a458e408 100644 --- a/webapp/api/core/urls.py +++ b/webapp/api/core/urls.py @@ -40,6 +40,7 @@ urlpatterns = [ path('api/', include(router.urls)), + path('api/anno-conf/', api.views.get_anno_tool_conf), path('api/search-concepts/', api.views.search_solr), path('api/prepare-documents/', api.views.prepare_documents), path('api/api-token-auth/', auth_views.obtain_auth_token), diff --git a/webapp/frontend/src/views/TrainAnnotations.vue b/webapp/frontend/src/views/TrainAnnotations.vue index 329ccadd..6fb7869c 100644 --- a/webapp/frontend/src/views/TrainAnnotations.vue +++ b/webapp/frontend/src/views/TrainAnnotations.vue @@ -266,7 +266,7 @@ const CONCEPT_IRRELEVANT = 'Irrelevant' const TASK_VALUES = [CONCEPT_CORRECT, CONCEPT_REMOVED, CONCEPT_KILLED, CONCEPT_ALTERNATIVE, CONCEPT_IRRELEVANT] -const LOAD_NUM_DOC_PAGES = 10 // 30 docs per page, 300 documents +let LOAD_NUM_DOC_PAGES = 10 // 100 docs per page, 1000 documents export default { name: 'TrainAnnotations', @@ -341,9 +341,15 @@ export default { } }, created () { - this.fetchData() + this.fetchAnnoConf() }, methods: { + fetchAnnoConf () { + this.$http.get(`/api/anno-conf/`).then(resp => { + LOAD_NUM_DOC_PAGES = resp.data['LOAD_NUM_DOC_PAGES'] || LOAD_NUM_DOC_PAGES + this.fetchData() + }) + }, fetchData () { this.$http.get(`/api/project-annotate-entities/?id=${this.projectId}`).then(resp => { if (resp.data.count === 0) {