Skip to content

Conversation

@jtomaszewski
Copy link

Summary

  • Implement OnModuleDestroy lifecycle hook for proper cleanup during application shutdown
  • Unsubscribe from RxJS interval to stop polling on shutdown
  • Track in-flight event processing and wait for completion before shutdown completes
  • Add isShuttingDown flag to prevent new processing during shutdown

Test plan

  • Added unit tests for graceful shutdown behavior
  • Tests verify subscription is properly unsubscribed
  • Tests verify polling stops after shutdown is initiated
  • Tests verify in-flight processing is awaited before shutdown completes
  • All existing tests pass

🤖 Generated with Claude Code

jtomaszewski and others added 6 commits December 3, 2025 01:12
* test(mikroorm-driver): add comprehensive test suite for MikroORM driver - Set up Vitest with SWC for decorator metadata support - Add test utilities for spinning up isolated NestJS apps with fresh PostgreSQL databases - Add unit tests for MikroOrmInboxOutboxTransportEvent entity - Add unit tests for MikroORMDatabaseDriver (persist, remove, flush, findAndExtendReadyToRetryEvents) - Add unit tests for MikroORMDatabaseDriverFactory (forked entity managers, isolation) - Add integration tests for TransactionalEventEmitter with real database - Fix integer overflow for timestamps by using bigint column type 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * ci: add GitHub workflow for MikroORM driver tests - Add test-mikroorm-driver.yml workflow with PostgreSQL service - Revert @mikro-orm versions to ^6.3.9 as requested 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix(ci): build core package before running MikroORM driver tests 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
Fix typo in field name throughout codebase and add database migrations to rename the column from delived_to_listeners to delivered_to_listeners. BREAKING CHANGE: Existing databases require running the new migration to rename the column. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <noreply@anthropic.com>
* fix `npm run build` for all pkgs (vibe-kanban eeb84602) * Done. Updated the paths configuration in `test-core.yml` to match the mikroorm workflow pattern: - Added `branches: [main]` filter for both push and pull_request - Added `package.json` and `package-lock.json` (dependency changes may affect tests) - Added `.github/workflows/test-core.yml` (workflow changes should trigger a run) * Done. Removed `branches: [main]` from both workflows. They'll now trigger on any branch when the relevant paths change.
1. **test-core.yml**: Added a "Type check" step that runs `npm run build` before tests 2. **test-mikroorm-driver.yml**: Added a "Type check MikroORM driver" step that runs `npm run build` on the mikroorm-driver workspace before tests This ensures TypeScript type errors are caught early in CI before tests run, preventing the issue where tests could pass while type errors exist in the code.
…ntPoller Implement OnModuleDestroy lifecycle hook to properly clean up resources during application shutdown: - Unsubscribe from RxJS interval to stop polling - Track in-flight event processing and wait for completion - Add isShuttingDown flag to prevent new processing during shutdown 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
@jtomaszewski jtomaszewski force-pushed the vk/57d1-add-graceful-shu branch from 530822a to 23d2bee Compare December 3, 2025 01:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant