Skip to content

Feature/forecast threading

sarsonl requested to merge feature/forecast_threading into develop

Large changes to the core ramsis workflow functionality. Prefect (a python module) now handles the execution of tasks instead of Executor classes written specifically for RAMSIS. This is done because for better workflow handling and threading allows for concurrent execution, rather than looping. This also means that control of threading is set through this module via a pool.

Further advantages are better logging, as each task has in-built status handling. Polling is handled by looping a task after a set time in a separate thread for each model run.

More statuses have been added so that tasks are not repeated once they have been completed. Model runs that have been remotely dispatched already are polled for, and not sent again. This means that the RAMSIS app can be closed and opened, and the forecast started again to resume the next stages in the forecast.

required by ramsis.datamodel!18 (merged)

Edited by sarsonl

Merge request reports