New Version: 0.7.0
- Switched from threads to processes for TOS-job execution.
- Fixed incorrect querying of thread running status, resulting in wrong error messages to active workflow. (fixes #3 (closed) at least partly)
- Each process established an own SQLAlchemy engine and session, as the sessionmaker of
database.py
would not work. (fixed #4 (closed)) - Fixed incorrect handling of broken processes which could be reported back multiple times.
Rationale: threads are specific to a process. As the application itself (gunicorn + uvicorn + fastapi) is started with multiple workers, it is not clear which worker started a thread. Therefore, there is no way of accessing all threads in a request, which contradicts the wish to check all running jobs based on their thread (i.e. is the thread still alive). Using processes, this works now as they are registered under /proc
on Linux systems.