Skip to content

feat: async chain end to end#49

Merged
Theauxm merged 1 commit into
mainfrom
feat/async-chain
May 4, 2026
Merged

feat: async chain end to end#49
Theauxm merged 1 commit into
mainfrom
feat/async-chain

Conversation

@Theauxm
Copy link
Copy Markdown
Member

@Theauxm Theauxm commented May 4, 2026

Summary

The six internal trains (ManifestManagerTrain, JobDispatcherTrain, JobRunnerTrain, DeadLetterCleanupTrain, MetadataCleanupTrain, InMemoryManifestManagerTrain) drop the now-redundant async keyword on RunInternal. The chain itself returns Task<Either<,>> after the Trax.Core change, so async + await Resolve() was double-wrapping.

No behavior change. Polling services, advisory lock acquisition, and job submitters are untouched.

Test plan

  • Unit + Integration + SQLite suites all pass (799 tests: 144 + 634 + 21)
  • Postgres integration tests included in 634
  • Manifest dependency chain still resolves end-to-end
  • pg_try_advisory_xact_lock semantics preserved across the await train.Run(...) boundary
  • dotnet build zero warnings
  • dotnet csharpier check . passes

Migration

See Trax.Docs migration guide.

@Theauxm Theauxm merged commit 7ef9d49 into main May 4, 2026
1 of 2 checks passed
@Theauxm Theauxm deleted the feat/async-chain branch May 4, 2026 15:36
@traxsharp
Copy link
Copy Markdown

traxsharp Bot commented May 4, 2026

This PR is included in version 1.28.0

1 similar comment
@traxsharp
Copy link
Copy Markdown

traxsharp Bot commented May 4, 2026

This PR is included in version 1.28.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant