Skip to content

Commit

Permalink
workflows in one place working
Browse files Browse the repository at this point in the history
  • Loading branch information
MarkTNO committed Jun 21, 2024
1 parent b78b3da commit 1842e8b
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 42 deletions.
72 changes: 36 additions & 36 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,42 +85,42 @@ services:
profiles:
- manual_dev

orchestrator:
image: ghcr.io/project-omotes/omotes_orchestrator:0.0.12
restart: unless-stopped
networks:
- omotes
environment:
CELERY_RABBITMQ_USERNAME: ${RABBITMQ_CELERY_USER_NAME}
CELERY_RABBITMQ_PASSWORD: ${RABBITMQ_CELERY_USER_PASSWORD}
CELERY_RABBITMQ_HOSTNAME: rabbitmq-nwn
CELERY_RABBITMQ_PORT: 5672
CELERY_RABBITMQ_VIRTUALHOST: omotes_celery

SDK_RABBITMQ_USERNAME: ${RABBITMQ_OMOTES_USER_NAME}
SDK_RABBITMQ_PASSWORD: ${RABBITMQ_OMOTES_USER_PASSWORD}
SDK_RABBITMQ_HOSTNAME: rabbitmq-nwn
SDK_RABBITMQ_PORT: 5672
SDK_RABBITMQ_VIRTUALHOST: omotes

TASK_RABBITMQ_USERNAME: ${RABBITMQ_CELERY_USER_NAME}
TASK_RABBITMQ_PASSWORD: ${RABBITMQ_CELERY_USER_PASSWORD}
TASK_RABBITMQ_HOSTNAME: rabbitmq-nwn
TASK_RABBITMQ_PORT: 5672
TASK_RABBITMQ_VIRTUALHOST: omotes_celery

POSTGRESQL_HOST: orchestrator_postgres_db
POSTGRESQL_PORT: 5432
POSTGRESQL_DATABASE: omotes_jobs
POSTGRESQL_USERNAME: ${POSTGRES_ORCHESTRATOR_USER_NAME}
POSTGRESQL_PASSWORD: ${POSTGRES_ORCHESTRATOR_USER_PASSWORD}

LOG_LEVEL: ${LOG_LEVEL}
depends_on:
rabbitmq:
condition: service_healthy
orchestrator_postgres_db:
condition: service_healthy
# orchestrator:
# image: ghcr.io/project-omotes/omotes_orchestrator:0.0.12
# restart: unless-stopped
# networks:
# - omotes
# environment:
# CELERY_RABBITMQ_USERNAME: ${RABBITMQ_CELERY_USER_NAME}
# CELERY_RABBITMQ_PASSWORD: ${RABBITMQ_CELERY_USER_PASSWORD}
# CELERY_RABBITMQ_HOSTNAME: rabbitmq-nwn
# CELERY_RABBITMQ_PORT: 5672
# CELERY_RABBITMQ_VIRTUALHOST: omotes_celery
#
# SDK_RABBITMQ_USERNAME: ${RABBITMQ_OMOTES_USER_NAME}
# SDK_RABBITMQ_PASSWORD: ${RABBITMQ_OMOTES_USER_PASSWORD}
# SDK_RABBITMQ_HOSTNAME: rabbitmq-nwn
# SDK_RABBITMQ_PORT: 5672
# SDK_RABBITMQ_VIRTUALHOST: omotes
#
# TASK_RABBITMQ_USERNAME: ${RABBITMQ_CELERY_USER_NAME}
# TASK_RABBITMQ_PASSWORD: ${RABBITMQ_CELERY_USER_PASSWORD}
# TASK_RABBITMQ_HOSTNAME: rabbitmq-nwn
# TASK_RABBITMQ_PORT: 5672
# TASK_RABBITMQ_VIRTUALHOST: omotes_celery
#
# POSTGRESQL_HOST: orchestrator_postgres_db
# POSTGRESQL_PORT: 5432
# POSTGRESQL_DATABASE: omotes_jobs
# POSTGRESQL_USERNAME: ${POSTGRES_ORCHESTRATOR_USER_NAME}
# POSTGRESQL_PASSWORD: ${POSTGRES_ORCHESTRATOR_USER_PASSWORD}
#
# LOG_LEVEL: ${LOG_LEVEL}
# depends_on:
# rabbitmq:
# condition: service_healthy
# orchestrator_postgres_db:
# condition: service_healthy

grow_worker_optimizer: &grow_worker
image: ghcr.io/project-omotes/omotes-grow-optimizer-worker:1.0.14
Expand Down
27 changes: 22 additions & 5 deletions example_sdk_client/optimizer.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import base64
import time

from omotes_sdk.config import RabbitMQConfig
Expand All @@ -8,10 +7,13 @@
JobResult,
JobProgressUpdate,
JobStatusUpdate,
AvailableWorkflows,
)
from omotes_sdk.workflow_type import WorkflowType, WorkflowTypeManager

rabbitmq_config = RabbitMQConfig(username="omotes", password="somepass1", virtual_host="omotes")
rabbitmq_config = RabbitMQConfig(
username="omotes", password="somepass1", virtual_host="omotes"
)


def handle_on_finished(job: Job, result: JobResult):
Expand Down Expand Up @@ -43,11 +45,25 @@ def handle_on_progress_update(job: Job, progress_update: JobProgressUpdate):
)


def handle_on_available_workflows_update(
available_workflows_pb: AvailableWorkflows,
) -> None:
"""When the available workflows are updated.
:param available_workflows_pb: AvailableWorkflows protobuf message.
"""
workflow_type_manager = WorkflowTypeManager.from_pb_message(available_workflows_pb)
print(f"workflow_type_manager updated: {workflow_type_manager.to_dict()}")


try:
workflow_optimizer = WorkflowType("grow_optimizer_default", "some descr")
workflow_manager = WorkflowTypeManager([workflow_optimizer])

omotes_if = OmotesInterface(rabbitmq_config, possible_workflows=workflow_manager)
omotes_if = OmotesInterface(
rabbitmq_config,
callback_on_available_workflows_update=handle_on_available_workflows_update,
)

omotes_if.start()

with open('example_esdl_optimizer_poc_tutorial.esdl') as open_file:
Expand All @@ -63,6 +79,7 @@ def handle_on_progress_update(job: Job, progress_update: JobProgressUpdate):
callback_on_status_update=handle_on_status_update,
auto_disconnect_on_result=True,
)
time.sleep(60)
time.sleep(3)
finally:
print("Closing rabbitmq connection")
omotes_if.stop()
2 changes: 1 addition & 1 deletion scripts/start.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
. scripts/_select_docker_compose.sh

$DOCKER_COMPOSE --profile=manual_dev down orchestrator_postgres_db_dev
$DOCKER_COMPOSE up --wait
$DOCKER_COMPOSE --profile=manual_dev up --wait

0 comments on commit 1842e8b

Please sign in to comment.