from polos import workflow, WorkflowContext
@workflow(id="api_call", queue=api_queue)
async def api_call(ctx: WorkflowContext, payload):
return await ctx.step.run("request", make_api_request, payload)
@workflow(id="db_read", queue=db_queue)
async def db_read(ctx: WorkflowContext, payload):
return await ctx.step.run("query", execute_query, payload)
# Multiple workflows can share the same queue
@workflow(id="db_write", queue=db_queue)
async def db_write(ctx: WorkflowContext, payload):
return await ctx.step.run("insert", insert_data, payload)