diff --git a/src/covid19/blueprints/admin/admin_views.py b/src/covid19/blueprints/admin/admin_views.py index b5188c882a81601e392d0b8da33512d4ef9b0858..258d88f5b0c073ddbcf72b945a44d335e279d1b1 100644 --- a/src/covid19/blueprints/admin/admin_views.py +++ b/src/covid19/blueprints/admin/admin_views.py @@ -26,7 +26,7 @@ def task_admin_alive_message(self): logger = get_task_logger(__name__) self.update_state(state=states.STARTED) logger.info("------------------------------------------------------------") - logger.info(" Received: task_admin_alive_message [OK] ") + logger.info(" task_admin_alive_message [received] ") logger.info("------------------------------------------------------------") self.update_state(state=states.SUCCESS) result = "OK (task_admin_alive_message)" @@ -38,17 +38,38 @@ def task_admin_database_drop_create(self): logger = get_task_logger(__name__) self.update_state(state=states.STARTED) logger.info("------------------------------------------------------------") - logger.info(" Received: task_admin_database_drop_create [OK] ") + logger.info(" task_admin_database_drop_create [start] ") logger.info("------------------------------------------------------------") who_service.task_database_drop_create() ecdc_service.task_database_drop_create() rki_vaccination_service.task_database_drop_create() admin_service.task_database_drop_create() + logger.info("------------------------------------------------------------") + logger.info(" task_admin_database_drop_create [done] ") + logger.info("------------------------------------------------------------") self.update_state(state=states.SUCCESS) result = "OK (task_admin_database_drop_create)" return result +@celery.task(bind=True) +def task_admin_import_all_files(self): + logger = get_task_logger(__name__) + self.update_state(state=states.STARTED) + logger.info("------------------------------------------------------------") + logger.info(" task_admin_import_all_files [start] ") + logger.info("------------------------------------------------------------") + who_service.task_import_all_files() + ecdc_service.task_import_all_files() + rki_vaccination_service.task_import_all_files() + self.update_state(state=states.SUCCESS) + logger.info("------------------------------------------------------------") + logger.info(" task_admin_import_all_files [done] ") + logger.info("------------------------------------------------------------") + result = "OK (task_admin_import_all_files)" + return result + + @app_admin.route('/') def url_admin_index(): page_info = ApplicationPage('Admin', "Covid19 Admin") @@ -143,15 +164,9 @@ def url_admin_download_all_files(): @app_admin.route('/import/all') def url_admin_import_all_files(): - who_service.download_all_files() - flash("who_service.download_all_files Done") - ecdc_service.download_all_files() - flash("who_service.download_all_files Done") - rki_vaccination_service.download_all_files() - flash("who_service.download_all_files Done") - rki_service_bundeslaender.download_all_files() - flash("who_service.download_all_files Done") - rki_service_landkreise.download_all_files() - flash("who_service.download_all_files Done") - app.logger.info("url_admin_download_all_files [done]") + app.logger.info("url_admin_import_all_files [start]") + flash("task_admin_import_all_files async started") + task_admin_import_all_files.apply_async() + app.logger.info("task_admin_import_all_files async started") + app.logger.info("url_admin_import_all_files [done]") return redirect(url_for('app_admin.url_admin_tasks')) diff --git a/src/covid19/blueprints/ecdc/ecdc_service.py b/src/covid19/blueprints/ecdc/ecdc_service.py index 90d0f636448475a2dc7663b66bdc0250b3ba91a1..3b4225066ed9cd8b9bce5ea3a55efbe9c3df0d3b 100644 --- a/src/covid19/blueprints/ecdc/ecdc_service.py +++ b/src/covid19/blueprints/ecdc/ecdc_service.py @@ -24,7 +24,7 @@ class EcdcService: return self def task_database_drop_create(self): - self.service_import.import_datafile_to_db() + self.service_import.import_file() self.service_update.update_db_short() return self @@ -33,41 +33,35 @@ class EcdcService: return self def run_import_only(self): - self.service_import.import_datafile_to_db() + self.service_import.import_file() return self - # TODO: #112 implement EcdcService.run_update_dimension_tables_only - # TODO: #111 refactor to new method scheme itroduced 07.02.2021 def run_update_dimension_tables_only(self): self.service_update.update_dimension_tables_only() return self - # TODO: #113 implement EcdcService.run_update_fact_table_incremental_only - # TODO: #111 refactor to new method scheme itroduced 07.02.2021 def run_update_fact_table_incremental_only(self): self.service_update.update_fact_table_incremental_only() return self - # TODO: #114 implement EcdcService.run_update_fact_table_initial_only - # TODO: #111 refactor to new method scheme itroduced 07.02.2021 def run_update_fact_table_initial_only(self): self.service_update.update_fact_table_initial_only() return self - # TODO: #115 implement EcdcService.run_update_star_schema_incremental - # TODO: #111 refactor to new method scheme itroduced 07.02.2021 def run_update_star_schema_incremental(self): - self.service_import.import_datafile_to_db() + self.service_import.import_file() self.service_update.update_star_schema_incremental() return self - # TODO: #116 implement EcdcService.run_update_star_schema_initial - # TODO: #111 refactor to new method scheme itroduced 07.02.2021 def run_update_star_schema_initial(self): - self.service_import.import_datafile_to_db() + self.service_import.import_file() self.service_update.update_star_schema_initial() return self def download_all_files(self): self.service_download.download_file() - return self \ No newline at end of file + return self + + def task_import_all_files(self): + self.service_import.import_file() + return self diff --git a/src/covid19/blueprints/ecdc/ecdc_service_import.py b/src/covid19/blueprints/ecdc/ecdc_service_import.py index c07f06dd4bda814294477ba391cb1456add76154..0f354c5b343cc39c0a4ffad1f5d68819b8b6c646 100644 --- a/src/covid19/blueprints/ecdc/ecdc_service_import.py +++ b/src/covid19/blueprints/ecdc/ecdc_service_import.py @@ -17,7 +17,7 @@ class EcdcServiceImport: app.logger.debug("------------------------------------------------------------") app.logger.debug(" ECDC Service Import [ready] ") - def import_datafile_to_db(self): + def import_file(self): src_cvsfile_name = self.cfg.data_path+os.sep+self.cfg.cvsfile_name app.logger.info(" import ECDC [begin]") app.logger.info("------------------------------------------------------------") diff --git a/src/covid19/blueprints/rki_bundeslaender/rki_service.py b/src/covid19/blueprints/rki_bundeslaender/rki_service.py index 3a7b9e9f24a902b53c886a4a03bfd29a606dd838..b441534f0a2df623a49718327dbb12453f118ba1 100644 --- a/src/covid19/blueprints/rki_bundeslaender/rki_service.py +++ b/src/covid19/blueprints/rki_bundeslaender/rki_service.py @@ -111,4 +111,7 @@ class RkiBundeslaenderService: def download_all_files(self): self.service_download.download_file() - return self \ No newline at end of file + return self + + def task_import_all_files(self): + return self diff --git a/src/covid19/blueprints/rki_landkreise/rki_service.py b/src/covid19/blueprints/rki_landkreise/rki_service.py index 4a1558be34c95c4f3b89bf1689a47477b182f8d1..225a5d6fe3aa6ce2b277b5ba8f9c6885c70d04da 100644 --- a/src/covid19/blueprints/rki_landkreise/rki_service.py +++ b/src/covid19/blueprints/rki_landkreise/rki_service.py @@ -112,3 +112,6 @@ class RkiLandkreiseService: self.service_download.download_file() return self + def task_import_all_files(self): + return self + diff --git a/src/covid19/blueprints/rki_vaccination/rki_vaccination_service.py b/src/covid19/blueprints/rki_vaccination/rki_vaccination_service.py index d0f28f4376c5d78201adf47532c2fa5765e29ed4..5d387662e173ff24f164dbb3be89a7ea8b5d5828 100644 --- a/src/covid19/blueprints/rki_vaccination/rki_vaccination_service.py +++ b/src/covid19/blueprints/rki_vaccination/rki_vaccination_service.py @@ -61,4 +61,8 @@ class RkiVaccinationService: def download_all_files(self): self.service_download.download_file() - return self \ No newline at end of file + return self + + def task_import_all_files(self): + self.service_import.import_file() + return self diff --git a/src/covid19/blueprints/who/who_service.py b/src/covid19/blueprints/who/who_service.py index a43381d8ad9f21337f4ff9cbca2b735585f1ad4f..45d931d56e7230b1ede8d82dda3ecb6d14958507 100644 --- a/src/covid19/blueprints/who/who_service.py +++ b/src/covid19/blueprints/who/who_service.py @@ -106,3 +106,7 @@ class WhoService: self.service_download.download_file() return self + def task_import_all_files(self): + self.service_import.import_file() + return self +