Skip to content

About

Process orchestration platform for grid computations using Spring Boot and PowSyBL

Resources

Stars

8 stars

Watchers

0 watching

Forks

Repository files navigation

Monitor core

Actions Status Coverage Status MPL-2.0 License

monitor-core contains the backend services used to configure, launch, and monitor asynchronous GridSuite processes.

Module Documentation

Read the child module documentation for service-specific details:

Overview

monitor-server manages process configurations, starts executions, stores execution and step statuses in PostgreSQL, and publishes run requests to RabbitMQ.

monitor-worker-server consumes those requests, executes the configured process steps, sends status updates back to the server, and stores computation results or debug artifacts when needed.

Process cancellation

Call POST /v1/executions/{executionId}/cancel to request cancellation. A scheduled execution is marked CANCELED immediately; a running execution moves to CANCELING until the worker stops and reports CANCELED. On that final status update, the server removes execution results and report/debug resources, deletes step records, and clears resource references. The endpoint returns 200 when cancellation is requested, 204 when it is already canceled or canceling, 404 when the execution does not exist, and 409 when it has completed or failed.

sequenceDiagram
    participant Server
    participant DB
    participant Worker

    Server->>DB: Read execution status
    DB-->>Server: Current status

    alt Status is SCHEDULED
        Server->>DB: Set status to CANCELED
        Server->>DB: Delete steps and clear resource references
        Note over Server: Clean result, report, and debug resources.
        Server->>Worker: Send cancel command (RabbitMQ)
        Note over Worker: If run arrives later, check DB status and skip this execution.
    else Status is RUNNING
        Server->>DB: Set status to CANCELING
        Server->>Worker: Send cancel command (RabbitMQ)
        Worker->>Worker: Interrupt active computation or stop at cancellation check
        Worker->>Server: Report status CANCELED (RabbitMQ)
        Server->>DB: Persist status CANCELED
        Server->>DB: Delete steps and clear resource references
        Note over Server: Clean result, report, and debug resources.
    else Status is CANCELING or CANCELED
        Server->>Worker: Resend cancel command (RabbitMQ)
    else Status is COMPLETED or FAILED
        Note over Server,DB: Cancellation is rejected.
    end
Loading

Liquibase

Please read liquibase usage for instructions to automatically generate changesets. After generating a changeset, add it to Git and reference it in monitor-server/src/main/resources/db/changelog/db.changelog-master.yaml.

About

Process orchestration platform for grid computations using Spring Boot and PowSyBL

Resources

Stars

8 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages