mirror of
https://github.com/ToolJet/ToolJet
synced 2026-05-21 16:08:35 +00:00
Overview This PR implements real-time workflow execution monitoring using Server-Sent Events (SSE) as part of our LTS feature support. The implementation allows for tracking long-running workflows without requiring deployment changes. Technical Changes 1. Server Components Added WorkflowStreamService to manage persistent SSE streams with automatic cleanup Implemented @sse endpoint in WorkflowExecutionsController for streaming status updates Created WorkflowTriggersListener to emit workflow execution events with EventEmitter2 Added workflow execution status constants to identify different states in the execution lifecycle 2. Client-side Components Implemented AsyncQueryHandler to manage SSE connections and parse event streams Enhanced queryPanelSlice with methods to create async handlers and trigger workflows Added support for non-blocking workflow execution with real-time status updates 3. Workflow Integration Modified workflow triggering to use the SSE-based monitoring approach Maintained same-server architecture to avoid deployment changes Added automatic reconnection handling and error recovery for client connections Architecture Decisions Selected Same Server Approach: Chose to implement workflows within the same HTTP server to maintain the existing deployment setup for LTS users Real-time Updates with SSE: Leveraged Server-Sent Events for their simplicity, efficiency, and compatibility with existing infrastructure Future Extension Path: Implementation can be extended to Worker Threads or Microservice architecture later if needed |
||
|---|---|---|
| .. | ||
| data-migrations | ||
| ee@61ab78568c | ||
| lib | ||
| migrations | ||
| scripts | ||
| src | ||
| templates | ||
| test | ||
| .eslintignore | ||
| .eslintrc.js | ||
| .gitignore | ||
| .node-version | ||
| .npmrc | ||
| .version | ||
| data-migration-config.ts | ||
| jest.config.ts | ||
| nest-cli.json | ||
| ormconfig.ts | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.build.json | ||
| tsconfig.json | ||
A progressive Node.js framework for building efficient and scalable server-side applications.
Description
Nest framework TypeScript starter repository.
Installation
$ npm install
Running the app
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
Test
# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:cov
Support
Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.
Stay in touch
- Author - Kamil Myśliwiec
- Website - https://nestjs.com
- Twitter - @nestframework
License
Nest is MIT licensed.