Skip to main content
Use marvin.run when you only need the result. Create a Task when you need to inspect state or declare dependencies.

Dependencies

The orchestrator includes dependencies and waits until they are complete. Complete includes failed or skipped tasks, not just successful tasks. Decide how your application should handle those outcomes. run_tasks returns the task objects. run_tasks_async and Task.run_async are available for async code.

Failures

By default, a failed task raises an error. Pass raise_on_failure=False to inspect the outcome yourself:
The state field is task.state, not task.status. Use is_pending, is_running, is_successful, is_failed, is_skipped, and is_complete rather than comparing strings. See task results for result types and custom validation.