-
Notifications
You must be signed in to change notification settings - Fork 55
Queues
Tibor Šimko edited this page Jan 18, 2022
·
1 revision
REANA is using a queue system to pass messages between components.
Overview of the queues in REANA:
Name | Description |
---|---|
jobs-status | contains messages that update status and logs of running workflow |
workflow-submission | WIP |
- publishers: workflow engines like Yadage, CWL, Serial or Snakemake
- consumers: single jobs status consumer
JSON schema of the message (WIP):
{
"$id": "reana/jobs-status-message.schema.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "jobs-status message",
"description": "Describes jobs-status queue message",
"type": "object",
"properties": {
"workflow_uuid": {
"description": "The unique UUID identifier for a workflow",
"type": "string"
},
"status": {
"description": "Status of a workflow (1 - running, 2 - finished, 3 - failed)",
"type": "integer",
"enum": [1, 2, 3]
},
"logs": {
"description": "Workflow logs",
"type": "string"
},
"message": {
"type": "object",
"properties": {
"progress": {
"engine_specific": {
"type": "string"
},
"failed": {
"$ref": "reana/jobs-status-message-progress-status.schema.json"
},
"total": {
"$ref": "reana/jobs-status-message-progress-status.schema.json"
},
"running": {
"$ref": "reana/jobs-status-message-progress-status.schema.json"
},
"finished": {
"$ref": "reana/jobs-status-message-progress-status.schema.json"
}
}
}
}
},
"required": ["workflow_uuid", "status"]
}
{
"$id": "reana/jobs-status-message-progress-status.schema.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "WIP",
"description": "WIP",
"required": ["total", "job_ids"],
"type": "object",
"properties": {
"total": {
"type": "integer"
},
"job_ids": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
REANA reproducible analysis platform
blog.reana.io | docs.reana.io | forum.reana.io | www.reana.io |
@gitter | @mattermost | @twitter
Introduction
Getting started
- Setting up your system
- Cloning sources
- Using production-like development mode
- Using live-code-reload and debug mode
Issue lifecycle
Understanding code base
Technology tips and tricks
- Tips for Docker
- Tips for Git
- Tips for GitLab
- Tips for Keycloak
- Tips for Kind
- Tips for Kubernetes
- Tips for OpenAPI
- Tips for PostgreSQL
- Tips for Python
- Tips for RabbitMQ
- Tips for SQLAlchemy