Commit Graph
65 Commits
Author SHA1 Message Date
Nuno Campos 23c73ae719 Update tests 2025-01-22 16:30:43 -08:00
Nuno Campos c697c2aa04 Undo 2025-01-22 16:02:09 -08:00
Nuno Campos 17dacb83a2 Fix 2025-01-22 16:02:09 -08:00
Nuno Campos 3a997be088 Fix 2025-01-22 16:02:09 -08:00
Eugene Yurtsev a58f5dacca x 2025-01-16 16:26:54 -05:00
Eugene Yurtsev 3a48049194 x 2025-01-16 16:19:23 -05:00
Eugene Yurtsev e5f0db0af3 x 2025-01-16 16:09:11 -05:00
Nuno Campos 6b9369876f Fix sync 2025-01-15 17:52:19 -08:00
Nuno Campos c26b0e78b6 Fix kafka lib 2025-01-15 17:15:58 -08:00
Nuno Campos f4bd023ab1 Fix 2025-01-15 16:04:14 -08:00
Nuno Campos e8a73e1505 Remove flag 2025-01-15 15:36:10 -08:00
Nuno Campos 144ee31546 Lint 2025-01-15 13:43:14 -08:00
Nuno Campos e83660885b Lint 2025-01-15 13:39:44 -08:00
Nuno Campos c2a57385c0 Update tests 2025-01-15 13:35:51 -08:00
Nuno Campos 0b74e25f72 Remove send v2 2025-01-14 15:49:57 -08:00
Nuno Campos 4e8f4ce440 Update 2024-12-04 15:39:16 -08:00
Nuno Campos b4b3ac6f57 lib: Merge GraphCommand and Command
- Now we have only Command
- Command(goto=) combines the previous functionality of Command(send=) and Command(goto=)
2024-12-04 15:12:03 -08:00
Nuno Campos 5c7a6689af Update tests 2024-12-04 14:41:30 -08:00
Nuno Campos c83b8f6d04 Update 2024-11-11 17:49:58 -08:00
Nuno Campos 2ff49d2200 Update 2024-11-11 15:43:20 -08:00
Nuno Campos ea64ac5c07 Update 2024-11-11 14:18:14 -08:00
Nuno Campos 89a0859928 Execute Sends in same super step that triggered them
- Keep old code path for compatibility with existing checkpoints
- Keep a similar order of application of updates, in some cases there will be no visible change
- Update task path for Sends to contain the path of all the parent tasks (multiple parents when a Send task creates another Send)
- That lineage path is used to ensure order of application of updates respects their logical lineage (ie updates from parents always applied before their child tasks)
- Move Interrupt writes to use negative indexes, which allow replacing/shadowing (when task is re-run it may interrupt again, or succeed)
- Runner will now attempt to schedule new Send tasks as soon as the write is received (ie while the originating node is still running)
- Update kafka scheduler to support new Send behavior
2024-11-11 14:01:16 -08:00
Nuno Campos 19cc95f7b6 kafka: Add missing task id for TaskNotFound error 2024-11-06 16:41:43 -08:00
Vadym BardaandGitHub def3e06b4a move py.typed to submodules for namespace packages (#2177) 2024-10-24 13:43:43 -04:00
Nuno Campos 42648c88dd lib: Add max_concurrency for async executions 2024-10-19 12:45:01 -07:00
Nuno Campos d48faecd42 Fix 2024-10-14 17:16:32 -07:00
Nuno Campos 5e175e098b Update kafka 2024-10-14 17:10:10 -07:00
Nuno Campos e5b4cd2701 scheduler-kafka: Pass loop arg to default async consumer and producer
- Some forks of aiokafka make this a required arg
2024-10-07 10:16:36 -07:00
Nuno CamposandGitHub b1a4243055 Implement new Store interface (#1834) 2024-09-29 17:06:42 -07:00
Nuno Campos 74f34db9e4 Fix sync kafka 2024-09-22 12:04:43 -07:00
Nuno Campos 644f14991e Fix kfka 2024-09-22 12:04:17 -07:00
Nuno Campos 30b631aaff Rewrite imports 2024-09-21 17:41:05 -07:00
Nuno Campos d9854b36eb Move to langgraph.types 2024-09-21 17:37:17 -07:00
Nuno CamposandGitHub 3b05279e32 Implement serialization with msgpack library (#1716)
* Implement serialization with msgpack library

- encode custom python objects with a msgpack extension type, with constructor path string, and args encoded as nested msgpack doc

* Smaller msgpack extension types

* Update lock files

* lock

* Don't delegate to pydantic json

* Fix kafka serde

- should use our serializer to load, as inputs to subgraphs are serialized using it
2024-09-16 14:06:42 -07:00
Nuno Campos 571623442a Avoid closing drain before seeing first message in either topic 2024-09-11 16:45:43 -07:00
Nuno Campos dd68babac7 kafka: Expose finally_send as public api
- Enables attaching a list of messages (topic/key/value) to send when run finishes
2024-09-11 16:31:35 -07:00
Nuno Campos 4accc19734 kafka: Implement sync orchestrator and executor classes 2024-09-11 16:06:50 -07:00
Nuno Campos 217b07ae65 kafka: Make consumer and producer classes configurable
- Define protocol for sync and async producer and consumer
- Accept consumer/producer as init args in Orchestrator/Executor
- If not passed in, create default consumer/producer as before
2024-09-11 14:27:08 -07:00
Vadym BardaandGitHub f3b5d804ab ci: fix kafka scheduler, split langgraph and kafka into separate test jobs (#1677) 2024-09-11 10:55:11 -04:00
Nuno Campos 5de46f7472 Update stop condition for drain 2024-09-10 16:52:09 -07:00
Nuno Campos bdabb723b0 Add langgraph dep 2024-09-10 16:39:34 -07:00
Nuno Campos edc0fd0210 Remove extraneous asserts 2024-09-10 16:20:45 -07:00
Nuno Campos 3886b76771 Lint 2024-09-10 16:17:22 -07:00
Nuno Campos 3a65460767 Use anyio for timeout in dran test helper 2024-09-10 16:17:22 -07:00
Nuno Campos 5e0273886e Lint 2024-09-10 16:17:22 -07:00
Nuno Campos 943cc4d83a Add readme, lint 2024-09-10 16:17:22 -07:00
Nuno Campos 98b8595a94 Move to dev deps 2024-09-10 16:17:22 -07:00
Nuno Campos f7dffa023c Implement subgraph delegation for distributed arch 2024-09-10 16:17:22 -07:00
Nuno Campos 7dc69a543d Rename 2024-09-10 16:17:22 -07:00
Nuno Campos 8f91402642 Use thread_id for partition key, ignore tasks for stale checkpoints 2024-09-10 16:17:22 -07:00