Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement LangGraph Scheduler for Kafka #1630

Merged
merged 34 commits into from
Sep 11, 2024
Merged

Conversation

nfcampos
Copy link
Contributor

@nfcampos nfcampos commented Sep 6, 2024

  • Orchestrator and Executor classes to run LangGraph in a distributed fashion using Kafka as a message bus for communication
  • Orchestrator and Executor run on-demand when a new message is published to the topic they listen to
  • Orchestrator is responsible for running the Pregel algorithm (deciding next tasks to run) and sending messages to the executor topic
  • Executor is responsible for executing each task (node), and sending messages to the orchestrator topic when done

@nfcampos nfcampos force-pushed the nc/5sep/scheduler-kafka branch from ac4d28f to dbd704c Compare September 6, 2024 23:23
@nfcampos nfcampos marked this pull request as ready for review September 10, 2024 22:23
- Orchestrator and Executor classes to run LangGraph in a distributed fashion using Kafka as a message bus for communication
- Orchestrator and Executor run on-demand when a new message is published to the topic they listen to
- Orchestrator is responsible for running the Pregel algorithm (deciding next tasks to run) and sending messages to the executor topic
- Executor is responsible for executing each task (node), and sending messages to the orchestrator topic when done
- await future returned by send() instead of flush()
- use consumer groups by default
- process tasks in batches by default, configurable
- manually commit offsets when batch is processed
- we already shield from cancellation in PregelLoop so shouldnt be repeating in AsyncBackgroundExecutor
@nfcampos nfcampos force-pushed the nc/5sep/scheduler-kafka branch from c63fb52 to edc0fd0 Compare September 10, 2024 23:21
@nfcampos nfcampos merged commit e3ca7bb into main Sep 11, 2024
67 checks passed
@nfcampos nfcampos deleted the nc/5sep/scheduler-kafka branch September 11, 2024 00:32
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.

3 participants