Skip to content

Migrate to lib-data-workqueue modules#1079

Open
pditommaso wants to merge 1 commit into
masterfrom
migrate-to-workqueue
Open

Migrate to lib-data-workqueue modules#1079
pditommaso wants to merge 1 commit into
masterfrom
migrate-to-workqueue

Conversation

@pditommaso

Copy link
Copy Markdown
Collaborator

Summary

Migrate wave from lib-data-stream-redis to the new lib-data-workqueue + lib-data-workqueue-redis (1.0.0).

Depends on seqeralabs/libseqera new-modules PR (the WorkQueue rename). Merge/release those first.

Changes

  • build.gradle: swap the single stream dependency for the two workqueue artifacts.
  • service/data/stream/BaseMessageStream (extends AbstractMessageStream) → service/data/workqueue/BaseWorkQueue (extends AbstractWorkQueue); RedisStreamConfigBeanRedisWorkQueueConfigBean (implements io.seqera.data.workqueue.redis.RedisWorkQueueConfig, getClaimTimeoutgetVisibilityTimeout). Old service/data/stream files removed.
  • JobPendingQueue / JobProcessingQueue: MessageStreamWorkQueue, package + import swaps (MessageConsumer name kept).

Validation — temporary composite build

settings.gradle adds a TEMPORARY includeBuild('../libseqera') so the unreleased modules resolve locally. compileGroovy + compileTestGroovyBUILD SUCCESSFUL (compile-only; ./gradlew check not run).

Before merge: remove the includeBuild and pin published lib-data-workqueue/-redis 1.0.0.

⚠️ Ops

Dashboards using seqera.stream.* must move to seqera.workqueue.* before deploy.

🤖 Generated with Claude Code

Adopt the new libseqera work-queue modules (lib-data-workqueue 1.0.0,
lib-data-workqueue-redis 1.0.0) in place of lib-data-stream-redis.

- build.gradle: swap the single stream dependency for the two workqueue artifacts.
- service/data/stream/BaseMessageStream (extends AbstractMessageStream) ->
  service/data/workqueue/BaseWorkQueue (extends AbstractWorkQueue); RedisStreamConfigBean ->
  RedisWorkQueueConfigBean (implements io.seqera.data.workqueue.redis.RedisWorkQueueConfig,
  getClaimTimeout->getVisibilityTimeout). Old service/data/stream files removed.
- JobPendingQueue / JobProcessingQueue: MessageStream->WorkQueue, package + import swaps
  (MessageConsumer name kept).
- settings.gradle: TEMPORARY includeBuild('../libseqera') for pre-release validation; replace
  with published coordinates once libseqera releases 1.0.0.

Validated: compileGroovy + compileTestGroovy BUILD SUCCESSFUL.
NOTE (ops): dashboards using seqera.stream.* must move to seqera.workqueue.* before deploy.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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