Parallel Workflow
Execute independent tasks simultaneously to reduce total execution time.
This example demonstrates Workflows 2.0 parallel execution for independent tasks that can run simultaneously. Shows how to optimize workflow performance by executing non-dependent steps in parallel, significantly reducing total execution time.
When to use: When you have independent tasks that don't depend on each other's output but can contribute to the same final goal. Ideal for research from multiple sources, parallel data processing, or any scenario where tasks can run simultaneously.
1from kern.agent import Agent2from kern.tools.hackernews import HackerNewsTools3from kern.tools.yfinance import YFinanceTools4from kern.workflow import Step, Workflow5from kern.workflow.parallel import Parallel67# Create agents8news_researcher = Agent(name="News Researcher", tools=[HackerNewsTools()])9finance_researcher = Agent(name="Finance Researcher", tools=[YFinanceTools()])10writer = Agent(name="Writer")11reviewer = Agent(name="Reviewer")1213# Create individual steps14research_news_step = Step(name="Research News", agent=news_researcher)15research_finance_step = Step(name="Research Finance", agent=finance_researcher)16write_step = Step(name="Write Article", agent=writer)17review_step = Step(name="Review Article", agent=reviewer)1819# Create workflow with parallel research20workflow = Workflow(21 name="Content Creation Pipeline",22 steps=[23 Parallel(research_news_step, research_finance_step, name="Research Phase"),24 write_step,25 review_step,26 ],27)2829workflow.print_response("Write about the latest AI developments and stock trends")