Skip to content

feat: Batch flush#3975

Draft
juliusgeo wants to merge 127 commits into
mainfrom
feat--batch-flush-redux
Draft

feat: Batch flush#3975
juliusgeo wants to merge 127 commits into
mainfrom
feat--batch-flush-redux

Conversation

@juliusgeo

@juliusgeo juliusgeo commented May 20, 2026

Copy link
Copy Markdown
Contributor

Description

#2617
Adds concept of "dynamic batches" that allow the workflow to specify either a max batch size, or a batch timeout time, or both, that will flush the batch to the worker once either of those limits are reached. Batch scheduling is done by moving rows from v1_queue_item to v1_batch_queue_item where they will be picked up by the batch scheduler. The dispatcher will send a "START_BATCH" action to workers, so they can listen for the batch task payloads (accumulated on the worker side). Batch payloads are sent individually to avoid issues with the 4mb GRPC limit.

Fixes # (issue)

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • Documentation change (pure documentation change)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactor (non-breaking changes to code which doesn't change any behaviour)
  • CI (any automation pipeline changes)
  • Chore (changes which are not directly related to any business logic)
  • Test changes (add, refactor, improve or change a test)
  • This change requires a documentation update

What's Changed

  • Engine/scheduler/dispatcher support
  • Go SDK support
  • Typescript SDK support
  • Python SDK support
  • Ruby SDK support

Checklist

Changes have been:

  • Tested (unit, integration, or manually with steps specified)
  • Linted and formatted
  • Documented (where applicable)
  • Added to CHANGELOG (where applicable) -- see Keep a Changelog

🤖 AI Disclosure
  • I acknowledge that an LLM was used in the creation of this Pull Request, in accordance with Hatchet's AI_POLICY.md.
  • Details: [e.g. generating tests, writing docs]

@github-actions github-actions Bot removed sdk-ts Related to the Typescript SDK sdk-go Related to the Go SDK sdk-ruby Related to the Ruby SDK labels Jun 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dashboard Related to the Hatchet dashboard documentation Improvements or additions to documentation engine Related to the core Hatchet engine sdk-py Related to the Python sdk

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants