diff --git a/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_views.py b/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_views.py index db8e6ef35f49a11d186e5bd042f3947004c457ab..b0f6b1852fcbaceae88bcb911fe06d9aaf77e953 100644 --- a/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_views.py +++ b/src/covid19/blueprints/rki_bundeslaender/rki_bundeslaender_views.py @@ -20,11 +20,11 @@ admin.add_view(ModelView(RkiBundeslaenderImport, db.session, category="RKI Cases admin.add_view(ModelView(RkiBundeslaender, db.session, category="RKI Cases and Deaths")) -################################################################################################################## -# -# RKI -# -################################################################################################################## +# --------------------------------------------------------------------------------------------------------------- +# Url Routes Frontend +# --------------------------------------------------------------------------------------------------------------- + + @app_rki_bundeslaender.route('/info') def url_rki_info(): page_info = ApplicationPage('RKI', "Info") @@ -56,7 +56,9 @@ def url_rki_bundeslaender_imported(page=1): page_info=page_info) -# TODO #146 add Tasks and URLs for starting Tasks to rki_views +# ------------------------------------------------------------------------ +# Celery TASKS +# ------------------------------------------------------------------------ @celery.task(bind=True) @@ -103,6 +105,10 @@ def task_rki_bundeslaender_task_update_facttable_initial_only(self): result = "OK (task_rki_bundeslaender_task_update_facttable_initial_only)" return result +# ------------------------------------------------------------------------ +# URL Routes for Celery TASKS +# ------------------------------------------------------------------------ + @app_rki_bundeslaender.route('/task/update/star_schema/initial') def url_rki_bundeslaender_task_update_starschema_initial(): diff --git a/src/covid19/blueprints/rki_landkreise/rki_landkreise_views.py b/src/covid19/blueprints/rki_landkreise/rki_landkreise_views.py index 1f767f54e5a595c83d5c07b8637dec6adcdcd0a7..53283653896b3b98501bd50336732f281f929c98 100644 --- a/src/covid19/blueprints/rki_landkreise/rki_landkreise_views.py +++ b/src/covid19/blueprints/rki_landkreise/rki_landkreise_views.py @@ -25,11 +25,10 @@ admin.add_view(ModelView(RkiLandkreiseImport, db.session, category="RKI Cases an admin.add_view(ModelView(RkiLandkreise, db.session, category="RKI Cases and Deaths")) -################################################################################################################## -# -# RKI -# -################################################################################################################## +# --------------------------------------------------------------------------------------------------------------- +# Url Routes Frontend +# --------------------------------------------------------------------------------------------------------------- + @app_rki_landkreise.route('/info') def url_rki_landkreise_info(): page_info = ApplicationPage('RKI', "Info") diff --git a/src/covid19/blueprints/rki_vaccination/rki_vaccination_views.py b/src/covid19/blueprints/rki_vaccination/rki_vaccination_views.py index 77a12457916e44ace7e3c1db6fb6f64501be6772..749d4e57560cf938e7e2346b09797fb22f5a0c54 100644 --- a/src/covid19/blueprints/rki_vaccination/rki_vaccination_views.py +++ b/src/covid19/blueprints/rki_vaccination/rki_vaccination_views.py @@ -19,11 +19,51 @@ admin.add_view(ModelView(RkiVaccinationDateReported, db.session, category="RKI V admin.add_view(ModelView(RkiVaccinationData, db.session, category="RKI Vaccination")) -################################################################################################################## -# -# Vaccination -# -################################################################################################################## +# --------------------------------------------------------------------------------------------------------------- +# Url Routes Frontend +# --------------------------------------------------------------------------------------------------------------- + +@app_rki_vaccination.route('/info') +def url_vaccination_info(): + page_info = ApplicationPage('Vaccination', "Info") + return render_template( + 'rki_vaccination/rki_vaccination_info.html', + page_info=page_info) + + +@app_rki_vaccination.route('/tasks') +def url_vaccination_tasks(): + page_info = ApplicationPage('Vaccination', "Tasks") + return render_template( + 'rki_vaccination/rki_vaccination_tasks.html', + page_info=page_info) + + +@app_rki_vaccination.route('/imported/page/<int:page>') +@app_rki_vaccination.route('/imported') +def url_vaccination_imported(page=1): + page_info = ApplicationPage('Vaccination', "Data: Germany Timeline imported") + page_data = RkiVaccinationImport.get_all_as_page(page) + return render_template( + 'rki_vaccination/rki_vaccination_imported.html', + page_data=page_data, + page_info=page_info) + + +@app_rki_vaccination.route('/data/page/<int:page>') +@app_rki_vaccination.route('/data') +def url_vaccination_data(page=1): + page_info = ApplicationPage('Vaccination', "Data: Germany Timeline") + page_data = RkiVaccinationData.get_all_as_page(page) + return render_template( + 'rki_vaccination/rki_vaccination_data.html', + page_data=page_data, + page_info=page_info) + + +# ---------------------------------------------------------------------------------------------------------------- +# Celery TASKS +# ---------------------------------------------------------------------------------------------------------------- @celery.task(bind=True) @@ -117,42 +157,9 @@ def task_vaccination_task_update_starschema_initial(self): return result -@app_rki_vaccination.route('/info') -def url_vaccination_info(): - page_info = ApplicationPage('Vaccination', "Info") - return render_template( - 'rki_vaccination/rki_vaccination_info.html', - page_info=page_info) - - -@app_rki_vaccination.route('/tasks') -def url_vaccination_tasks(): - page_info = ApplicationPage('Vaccination', "Tasks") - return render_template( - 'rki_vaccination/rki_vaccination_tasks.html', - page_info=page_info) - - -@app_rki_vaccination.route('/imported/page/<int:page>') -@app_rki_vaccination.route('/imported') -def url_vaccination_imported(page=1): - page_info = ApplicationPage('Vaccination', "Data: Germany Timeline imported") - page_data = RkiVaccinationImport.get_all_as_page(page) - return render_template( - 'rki_vaccination/rki_vaccination_imported.html', - page_data=page_data, - page_info=page_info) - - -@app_rki_vaccination.route('/data/page/<int:page>') -@app_rki_vaccination.route('/data') -def url_vaccination_data(page=1): - page_info = ApplicationPage('Vaccination', "Data: Germany Timeline") - page_data = RkiVaccinationData.get_all_as_page(page) - return render_template( - 'rki_vaccination/rki_vaccination_data.html', - page_data=page_data, - page_info=page_info) +# ---------------------------------------------------------------------------------------------------------------- +# URL Routes for Celery TASKS +# ---------------------------------------------------------------------------------------------------------------- @app_rki_vaccination.route('/task/download/only') diff --git a/src/covid19/blueprints/who/who_views.py b/src/covid19/blueprints/who/who_views.py index 1642e4abf3c4e7bfbdf1edc6cdf60c99c50769cd..4b2961ece6f439d169aea6ae2f6243e77d32826e 100644 --- a/src/covid19/blueprints/who/who_views.py +++ b/src/covid19/blueprints/who/who_views.py @@ -21,184 +21,10 @@ admin.add_view(ModelView(WhoRegion, db.session, category="WHO")) admin.add_view(ModelView(WhoCountry, db.session, category="WHO")) admin.add_view(ModelView(WhoData, db.session, category="WHO")) -################################################################################################################## -# -# WHO -# -################################################################################################################## - -# def task_who_download_only(self): -# def task_who_import_only(self): -# def task_who_update_dimension_tables_only(self): -# def task_who_update_fact_table_incremental_only(self): -# def task_who_update_fact_table_initial_only(self): -# def task_who_update_fact_table_initial_only(self): -# def task_who_update_star_schema_incremental(self): -# def task_who_update_star_schema_initial(self): - -@celery.task(bind=True) -def task_who_download_only(self): - logger = get_task_logger(__name__) - self.update_state(state=states.STARTED) - logger.info("------------------------------------------------------------") - logger.info(" Received: task_who_download_only [OK] ") - logger.info("------------------------------------------------------------") - who_service.run_download_only() - self.update_state(state=states.SUCCESS) - result = "OK (task_who_download_only)" - return result - - -@celery.task(bind=True) -def task_who_import_only(self): - logger = get_task_logger(__name__) - self.update_state(state=states.STARTED) - logger.info("------------------------------------------------------------") - logger.info(" Received: task_who_import_only [OK] ") - logger.info("------------------------------------------------------------") - who_service.run_import_only() - self.update_state(state=states.SUCCESS) - result = "OK (task_who_import_only)" - return result - - -@celery.task(bind=True) -def task_who_update_dimension_tables_only(self): - logger = get_task_logger(__name__) - self.update_state(state=states.STARTED) - logger.info("------------------------------------------------------------") - logger.info(" Received: task_who_update_dimension_tables_only [OK] ") - logger.info("------------------------------------------------------------") - who_service.run_update_dimension_tables_only() - self.update_state(state=states.SUCCESS) - result = "OK (task_who_update_dimension_tables_only)" - return result - - -@celery.task(bind=True) -def task_who_update_fact_table_incremental_only(self): - logger = get_task_logger(__name__) - self.update_state(state=states.STARTED) - logger.info("------------------------------------------------------------") - logger.info(" Received: task_who_update_fact_table_incremental_only [OK] ") - logger.info("------------------------------------------------------------") - who_service.run_update_fact_table_incremental_only() - self.update_state(state=states.SUCCESS) - result = "OK (task_who_update_dimension_tables_only)" - return result - - -@celery.task(bind=True) -def task_who_update_fact_table_initial_only(self): - logger = get_task_logger(__name__) - self.update_state(state=states.STARTED) - logger.info("------------------------------------------------------------") - logger.info(" Received: task_who_update_fact_table_initial_only [OK] ") - logger.info("------------------------------------------------------------") - who_service.run_update_fact_table_initial_only() - self.update_state(state=states.SUCCESS) - result = "OK (task_who_update_fact_table_initial_only)" - return result - - -@celery.task(bind=True) -def task_who_update_star_schema_incremental(self): - logger = get_task_logger(__name__) - self.update_state(state=states.STARTED) - logger.info("------------------------------------------------------------") - logger.info(" Received: task_who_update_star_schema_incremental [OK] ") - logger.info("------------------------------------------------------------") - who_service.run_update_star_schema_incremental() - self.update_state(state=states.SUCCESS) - result = "OK (task_who_update_star_schema_incremental)" - return result - - -@celery.task(bind=True) -def task_who_update_star_schema_initial(self): - logger = get_task_logger(__name__) - self.update_state(state=states.STARTED) - logger.info("------------------------------------------------------------") - logger.info(" Received: task_who_update_star_schema_initial [OK] ") - logger.info("------------------------------------------------------------") - who_service.run_update_star_schema_initial() - self.update_state(state=states.SUCCESS) - result = "OK (task_who_update_star_schema_incremental)" - return result - - -@app_who.route('/task/download/only') -def url_task_who_download_only(): - app.logger.info("url_who_task_download_only [start]") - who_service.run_download_only() - flash("who_service.run_download_only ok") - app.logger.info("url_who_task_download_only [done]") - return redirect(url_for('who.url_who_tasks')) - - -@app_who.route('/task/import/only') -def url_task_who_import_only(): - app.logger.info("url_who_update_run [start]") - task_who_import_only.apply_async() - flash("who_service.run_update started") - flash(message="long running background task started", category="warning") - app.logger.info("url_who_update_run [done]") - return redirect(url_for('who.url_who_tasks')) - - -@app_who.route('/task/update/dimension-tables/only') -def url_task_who_update_dimension_tables_only(): - app.logger.info("url_task_who_update_dimension_tables_only [start]") - task_who_update_dimension_tables_only.apply_async() - flash("task_who_update_dimension_tables_only started") - flash(message="long running background task started", category="warning") - app.logger.info("url_task_who_update_dimension_tables_only [done]") - return redirect(url_for('who.url_who_tasks')) - - -@app_who.route('/task/update/fact-table/incremental/only') -def url_task_who_update_fact_table_incremental_only(): - app.logger.info("url_task_who_update_fact_table_incremental_only [start]") - task_who_update_fact_table_incremental_only.apply_async() - flash("task_who_update_fact_table_incremental_only started") - flash(message="long running background task started", category="warning") - app.logger.info("url_task_who_update_fact_table_incremental_only [done]") - return redirect(url_for('who.url_who_tasks')) - - -@app_who.route('/task/update/fact-table/initial/only') -def url_task_who_update_fact_table_initial_only(): - app.logger.info("url_task_who_update_fact_table_initial_only [start]") - task_who_update_fact_table_initial_only.apply_async() - flash("task_who_update_fact_table_initial_only started") - flash(message="long running background task started", category="warning") - app.logger.info("url_who_task_update_full [done]") - return redirect(url_for('who.url_who_tasks')) - - -@app_who.route('/task/update/star_schema/initial') -def url_task_who_update_star_schema_initial(): - app.logger.info("url_who_task_update_full [start]") - who_service.run_download_only() - flash("who_service.service_download.download_file ok") - task_who_update_star_schema_initial.apply_async() - flash("task_who_update_star_schema_initial started") - flash(message="long running background task started", category="warning") - app.logger.info("url_who_task_update_full [done]") - return redirect(url_for('who.url_who_tasks')) - - -@app_who.route('/task/update/star_schema/incremental') -def url_task_who_update_star_schema_incremental(): - app.logger.info("url_task_who_update_star_schema_incremental [start]") - who_service.run_download_only() - flash("who_service.service_download.download_file ok") - task_who_update_star_schema_incremental.apply_async() - flash("task_who_run_update_full started") - flash(message="long running background task started", category="warning") - app.logger.info("url_task_who_update_star_schema_incremental [done]") - return redirect(url_for('who.url_who_tasks')) +# --------------------------------------------------------------------------------------------------------------- +# Url Routes Frontend +# --------------------------------------------------------------------------------------------------------------- @app_who.route('/info') @@ -492,3 +318,175 @@ def url_who_germany(page: int = 1): who_country=who_country_germany, page_data=page_data, page_info=page_info) + + +# ---------------------------------------------------------------------------------------------------------------- +# Celery TASKS +# ---------------------------------------------------------------------------------------------------------------- + +@celery.task(bind=True) +def task_who_download_only(self): + logger = get_task_logger(__name__) + self.update_state(state=states.STARTED) + logger.info("------------------------------------------------------------") + logger.info(" Received: task_who_download_only [OK] ") + logger.info("------------------------------------------------------------") + who_service.run_download_only() + self.update_state(state=states.SUCCESS) + result = "OK (task_who_download_only)" + return result + + +@celery.task(bind=True) +def task_who_import_only(self): + logger = get_task_logger(__name__) + self.update_state(state=states.STARTED) + logger.info("------------------------------------------------------------") + logger.info(" Received: task_who_import_only [OK] ") + logger.info("------------------------------------------------------------") + who_service.run_import_only() + self.update_state(state=states.SUCCESS) + result = "OK (task_who_import_only)" + return result + + +@celery.task(bind=True) +def task_who_update_dimension_tables_only(self): + logger = get_task_logger(__name__) + self.update_state(state=states.STARTED) + logger.info("------------------------------------------------------------") + logger.info(" Received: task_who_update_dimension_tables_only [OK] ") + logger.info("------------------------------------------------------------") + who_service.run_update_dimension_tables_only() + self.update_state(state=states.SUCCESS) + result = "OK (task_who_update_dimension_tables_only)" + return result + + +@celery.task(bind=True) +def task_who_update_fact_table_incremental_only(self): + logger = get_task_logger(__name__) + self.update_state(state=states.STARTED) + logger.info("------------------------------------------------------------") + logger.info(" Received: task_who_update_fact_table_incremental_only [OK] ") + logger.info("------------------------------------------------------------") + who_service.run_update_fact_table_incremental_only() + self.update_state(state=states.SUCCESS) + result = "OK (task_who_update_dimension_tables_only)" + return result + + +@celery.task(bind=True) +def task_who_update_fact_table_initial_only(self): + logger = get_task_logger(__name__) + self.update_state(state=states.STARTED) + logger.info("------------------------------------------------------------") + logger.info(" Received: task_who_update_fact_table_initial_only [OK] ") + logger.info("------------------------------------------------------------") + who_service.run_update_fact_table_initial_only() + self.update_state(state=states.SUCCESS) + result = "OK (task_who_update_fact_table_initial_only)" + return result + + +@celery.task(bind=True) +def task_who_update_star_schema_incremental(self): + logger = get_task_logger(__name__) + self.update_state(state=states.STARTED) + logger.info("------------------------------------------------------------") + logger.info(" Received: task_who_update_star_schema_incremental [OK] ") + logger.info("------------------------------------------------------------") + who_service.run_update_star_schema_incremental() + self.update_state(state=states.SUCCESS) + result = "OK (task_who_update_star_schema_incremental)" + return result + + +@celery.task(bind=True) +def task_who_update_star_schema_initial(self): + logger = get_task_logger(__name__) + self.update_state(state=states.STARTED) + logger.info("------------------------------------------------------------") + logger.info(" Received: task_who_update_star_schema_initial [OK] ") + logger.info("------------------------------------------------------------") + who_service.run_update_star_schema_initial() + self.update_state(state=states.SUCCESS) + result = "OK (task_who_update_star_schema_incremental)" + return result + +# ---------------------------------------------------------------------------------------------------------------- +# URL Routes for Celery TASKS +# ---------------------------------------------------------------------------------------------------------------- + + +@app_who.route('/task/download/only') +def url_task_who_download_only(): + app.logger.info("url_who_task_download_only [start]") + who_service.run_download_only() + flash("who_service.run_download_only ok") + app.logger.info("url_who_task_download_only [done]") + return redirect(url_for('who.url_who_tasks')) + + +@app_who.route('/task/import/only') +def url_task_who_import_only(): + app.logger.info("url_who_update_run [start]") + task_who_import_only.apply_async() + flash("who_service.run_update started") + flash(message="long running background task started", category="warning") + app.logger.info("url_who_update_run [done]") + return redirect(url_for('who.url_who_tasks')) + + +@app_who.route('/task/update/dimension-tables/only') +def url_task_who_update_dimension_tables_only(): + app.logger.info("url_task_who_update_dimension_tables_only [start]") + task_who_update_dimension_tables_only.apply_async() + flash("task_who_update_dimension_tables_only started") + flash(message="long running background task started", category="warning") + app.logger.info("url_task_who_update_dimension_tables_only [done]") + return redirect(url_for('who.url_who_tasks')) + + +@app_who.route('/task/update/fact-table/incremental/only') +def url_task_who_update_fact_table_incremental_only(): + app.logger.info("url_task_who_update_fact_table_incremental_only [start]") + task_who_update_fact_table_incremental_only.apply_async() + flash("task_who_update_fact_table_incremental_only started") + flash(message="long running background task started", category="warning") + app.logger.info("url_task_who_update_fact_table_incremental_only [done]") + return redirect(url_for('who.url_who_tasks')) + + +@app_who.route('/task/update/fact-table/initial/only') +def url_task_who_update_fact_table_initial_only(): + app.logger.info("url_task_who_update_fact_table_initial_only [start]") + task_who_update_fact_table_initial_only.apply_async() + flash("task_who_update_fact_table_initial_only started") + flash(message="long running background task started", category="warning") + app.logger.info("url_who_task_update_full [done]") + return redirect(url_for('who.url_who_tasks')) + + +@app_who.route('/task/update/star_schema/initial') +def url_task_who_update_star_schema_initial(): + app.logger.info("url_who_task_update_full [start]") + who_service.run_download_only() + flash("who_service.service_download.download_file ok") + task_who_update_star_schema_initial.apply_async() + flash("task_who_update_star_schema_initial started") + flash(message="long running background task started", category="warning") + app.logger.info("url_who_task_update_full [done]") + return redirect(url_for('who.url_who_tasks')) + + +@app_who.route('/task/update/star_schema/incremental') +def url_task_who_update_star_schema_incremental(): + app.logger.info("url_task_who_update_star_schema_incremental [start]") + who_service.run_download_only() + flash("who_service.service_download.download_file ok") + task_who_update_star_schema_incremental.apply_async() + flash("task_who_run_update_full started") + flash(message="long running background task started", category="warning") + app.logger.info("url_task_who_update_star_schema_incremental [done]") + return redirect(url_for('who.url_who_tasks'))