Skip to content

Replace BatchLoader with submit/collect async source pattern#87

Merged
koenvo merged 5 commits into
mainfrom
feature/async-source
Jun 30, 2026
Merged

Replace BatchLoader with submit/collect async source pattern#87
koenvo merged 5 commits into
mainfrom
feature/async-source

Conversation

@koenvo

@koenvo koenvo commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Sources can now implement submit(), collect(), and has_pending() for async bulk fetching. Ingestify detects these via duck typing and uses a streaming pipeline: submit until capacity full, collect results as they arrive, submit more — interleaved with lazy find_datasets.

  • Add _execute_async path in IngestionJob for sources with submit/collect
  • Add DatasetResource.update_file() for setting file content by data_feed_key
  • Add test_async_source.py with 4 tests (basic, capacity, skip, mixed files)
  • Remove BatchLoader, BatchTask, _wrap_batch_tasks (replaced by submit/collect)
  • Update docs/api_reference.md

koenvo added 5 commits May 20, 2026 15:59
Sources can now implement submit(), collect(), and has_pending() for
async bulk fetching. Ingestify detects these via duck typing and uses
a streaming pipeline: submit until capacity full, collect results as
they arrive, submit more — interleaved with lazy find_datasets.

- Add _execute_async path in IngestionJob for sources with submit/collect
- Add DatasetResource.update_file() for setting file content by data_feed_key
- Add test_async_source.py with 4 tests (basic, capacity, skip, mixed files)
- Remove BatchLoader, BatchTask, _wrap_batch_tasks (replaced by submit/collect)
- Update docs/api_reference.md
@koenvo koenvo merged commit cb16ea6 into main Jun 30, 2026
13 checks passed
@koenvo koenvo deleted the feature/async-source branch June 30, 2026 21:47
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