20-08-2024.WorkflowEngine RFC #89
Pinned
JaktensTid
started this conversation in
RFCs
Replies: 1 comment
-
|
Hello everyone, I'm currently using the endpoint: https://api.esmatlas.com/foldSequence/v1/pdb/ but since october 11 it consistently returns: {"detail":"Error while making the request: 503 Server Error: Service Unavailable"} I’ve already confirmed that my local setup and internet connection are working correctly. I’m preparing an academic presentation/exam where I need to demonstrate the API’s use, so I would be very grateful if you could please let me know whether this is a temporary issue or if there’s any alternative endpoint or timeline for the service to be restored. Thank you very much for your time and support 🙏 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
UPDATE
Prefect was chosen as a solution
Workflow overview
NoLabs is an open-source platform designed for collaborative bioinformatics research and AI model inference. A key feature of NoLabs is its workflow engine, which allows the creation and orchestration of Python components into directed acyclic graphs (DAGs). These components and inner component jobs can run parallel jobs on distributed clusters, such as Kubernetes (k8s), utilizing containerized environments.
Workflow engine RFC
Workflow Engine Features
Component Management:
Jobs Management:
Example Workflow:
.fastafiles from the Proteins List component and generatesNfolding jobs (N = number of files).Kjobs (K = number of protein files * number of ligand files) to perform molecule-protein binding.Requirements
Functional Requirements
Input/Output Mapping:
Job Parallelization:
Components and jobs Execution and Monitoring:
Job Execution Types:
Inter-Component Communication:
Non-Functional Requirements
Suggested Approach
Execution Framework
Custom Workflow Engine
Purpose: Acts as a facade for Airflow operators, validating mappings and ensuring input/output correctness.
Task Modules:
pyproject.tomlDockerfilefor creating the task environment (including Apache Airflow Celery worker).ExecuteJobOperatorfrom the main project.Pros:
Cons:
Component Classes
Each component consists of three operators. Component operators must inherit these three classes and override
async def execute_asyncfunction that contains code.SetupOperator:
ExecuteJobOperator:
ExecuteJobOperatorand overridesexecute_async.Inter-Component Communication
Module Structure
Beta Was this translation helpful? Give feedback.
All reactions