diff --git a/.gitignore b/.gitignore index aa083a86394c44f58ec31879cd77a8636f10668f..24309943a424a654fceab69e74ccd315caf5cbbf 100644 --- a/.gitignore +++ b/.gitignore @@ -1136,3 +1136,4 @@ Debug*/Debug*\ Libs /download *.wget /WHO-COVID-19-global-data *.csv /data/WHO-COVID-19-global-data *.csv +/data/ecdc_europa_data (1).csv diff --git a/app.py b/app.py index e68f18d1ddf9b23bf4752aa340efacf276b58fae..cf3c0622971d793967586e63dbeae1f14599509d 100644 --- a/app.py +++ b/app.py @@ -7,7 +7,7 @@ from org.woehlke.covid19.who.who_model import WhoRegion, WhoCountry, WhoDateRepo from org.woehlke.covid19.who.who_service import WhoService from org.woehlke.covid19.europe.europe_model import EuropeDataImportTable from org.woehlke.covid19.europe.europe_service import EuropeService -from server_mq import who_run_update_task, alive_message_task, who_update_short_task +from server_mq import who_run_update_task, alive_message_task, who_update_short_task, europe_update_task class ApplicationPage: @@ -238,7 +238,8 @@ def url_europe_tasks(): @app.route('/europe/update') def europe_update_data(): - europe_service.run_update() + europe_service.download() + europe_update_task.apply_async() flash("europe_service.run_update started") return redirect(url_for('home')) diff --git a/org/woehlke/covid19/europe/europe_service.py b/org/woehlke/covid19/europe/europe_service.py index c5df4cd665039b9d19ed5c1367ce504b7cdcdcfd..fe64e3bbacac32f4e745fe6ed44d44ed71818872 100644 --- a/org/woehlke/covid19/europe/europe_service.py +++ b/org/woehlke/covid19/europe/europe_service.py @@ -31,9 +31,9 @@ class EuropeService: os.makedirs('data', exist_ok=True) app.logger.info("------------------------------------------------------------") try: - data_file = wget.download(self.__url_src_data) - os.remove(self.__src_europa_cvsfile_name) - os.renames(data_file, self.__src_europa_cvsfile_name) + data_file = wget.download(self.__url_src_data,self.__src_europa_cvsfile_name) + #os.remove(self.__src_europa_cvsfile_name) + #os.renames(data_file, self.__src_europa_cvsfile_name) app.logger.info("------------------------------------------------------------") except Exception as error: app.logger.warning(error) @@ -93,10 +93,17 @@ class EuropeService: def __update_db(self): return self + def download(self): + app.logger.info(" download [begin]") + app.logger.info("------------------------------------------------------------") + self.__download() + app.logger.info(" download [done]") + app.logger.info("------------------------------------------------------------") + return self + def run_update(self): app.logger.info(" run [begin]") app.logger.info("------------------------------------------------------------") - self.__download() self.__import() self.__update_db() app.logger.info(" run [done]") diff --git a/server_mq.py b/server_mq.py index 9917a23d85f7320c842194bbf9155db23ce9ca47..209e55bec954d3d2de33e18b535c5a5fb1609ab3 100644 --- a/server_mq.py +++ b/server_mq.py @@ -5,6 +5,7 @@ from org.woehlke.covid19.who.who_service import WhoService from org.woehlke.covid19.europe.europe_service import EuropeService who_service = WhoService(db) +europe_service = EuropeService(db) celery = Celery(app.name, broker=app.config['CELERY_BROKER_URL']) celery.conf.update(app.config) @@ -22,12 +23,12 @@ def who_run_update_task(self, import_file=True): @celery.task(bind=True) -def who_update_short_task(self, import_file=True): +def who_update_short_task(self): self.update_state(state=states.STARTED) app.logger.info("------------------------------------------------------------") app.logger.info(" Received: who_update_short_task [OK] ") app.logger.info("------------------------------------------------------------") - who_service.run_update_short(import_file) + who_service.run_update_short() self.update_state(state=states.SUCCESS) result = "OK (who_update_short_task)" return result @@ -43,3 +44,14 @@ def alive_message_task(self): result = "OK" return result + +@celery.task(bind=True) +def europe_update_task(self): + self.update_state(state=states.STARTED) + app.logger.info("------------------------------------------------------------") + app.logger.info(" Received: europe_update_task [OK] ") + app.logger.info("------------------------------------------------------------") + europe_service.run_update() + self.update_state(state=states.SUCCESS) + result = "OK (europe_update_task)" + return result \ No newline at end of file