Skip to content

⚙️ FEATURE-#103: Add async/await support for actions#122

Merged
FernandoCelmer merged 3 commits intodevelopfrom
feature/103
Apr 6, 2026
Merged

⚙️ FEATURE-#103: Add async/await support for actions#122
FernandoCelmer merged 3 commits intodevelopfrom
feature/103

Conversation

@FernandoCelmer
Copy link
Copy Markdown
Member

Description

  • dotflow/core/action.py: Detect async functions with asyncio.iscoroutinefunction(), run with asyncio.run(), handle existing event loops (FastAPI/Django) via thread pool fallback
  • docs_src/async/async_action.py: Usage example with async and sync actions
  • docs/nav/tutorial/async-actions.md: Tutorial page with examples, mixing sync/async, retry, when to use
  • mkdocs.yml: Added async-actions to nav

Motivation and Context

Most workflows are I/O-bound (HTTP calls, DB queries, file operations). Async support enables concurrent I/O within actions without changing the workflow API. Works in all environments: scripts, Lambda, FastAPI, Django async.

Closes #103

Types of changes

  • New feature (change which adds functionality)
  • Documentation

Checklist

  • I have performed a self-review of my own code
  • I have added tests that prove my fix is effective or that my feature works
  • I have updated the CHANGELOG
  • I have updated the documentation accordingly

@FernandoCelmer FernandoCelmer added documentation Improvements or additions to documentation enhancement New feature or request labels Apr 6, 2026
@FernandoCelmer FernandoCelmer merged commit a0a1037 into develop Apr 6, 2026
10 checks passed
@FernandoCelmer FernandoCelmer deleted the feature/103 branch April 6, 2026 06:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant