python-bonobo / bonobo

Extract Transform Load for Python 3.5+
https://www.bonobo-project.org/
Apache License 2.0
1.58k stars 145 forks source link

Async-based core #343

Open hartym opened 5 years ago

hartym commented 5 years ago

The current executors and execution strategies heavily relies on threads, managed directly by bonobo. A proof of concept of an async-based core exists in https://github.com/hartym/bonobo/tree/executor_reloaded/bonobo/execution/reloaded which enables a lot of new things, including having non a FIFO node running n-times concurrently.

Also, all current code can continue to work, because the async-world way of running synchronous code is just to wrap it in a thread, which is also what bonobo is doing, so we can happily delegate that to asyncio (ou trio, or whatever-io library).

This is also a good opportunity to redefine precisely what are the role of each parts (contexts, executors, strategies ...).

hartym commented 5 years ago
do-not-edit-start-codetree-epic-issues

Issues in this epic:

Title Milestone Assignees Stage State
Optional removal the FIFO constraint for individual nodes to enable parallel execution #236 0.8 N/A Open
do-not-edit-end-codetree-epic-issues