mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-10-21 16:03:26 +00:00
Merge remote-tracking branch 'origin/main' into datatable-connect-as-viewer-roles
# Conflicts: # backend/ee-repo-ref.txt
This commit is contained in:
@@ -880,7 +880,9 @@ def parse_sql_client_name(name: str) -> tuple[str, Optional[str]]
|
||||
#
|
||||
# - **v2 (inside @workflow)**: dispatches as a checkpoint step.
|
||||
# - **v1 (WM_JOB_ID set, no @workflow)**: dispatches via HTTP API.
|
||||
# - **Standalone**: executes the function body directly.
|
||||
# - **Standalone, or called from inside another v2 task**: executes the
|
||||
# function body directly. A task runs as a single job, so the tasks it
|
||||
# calls run in that same job, without their own options.
|
||||
#
|
||||
# A task runs as its own job, so its result is always encoded as JSON and
|
||||
# decoded back before the caller sees it: a ``datetime`` comes back as a
|
||||
@@ -966,12 +968,15 @@ def workflow(func)
|
||||
# ``fn``'s result is encoded as JSON and decoded back before it is returned,
|
||||
# so the round that runs the body sees the same types every replay sees:
|
||||
# a ``datetime`` comes back as a string, a tuple as a list.
|
||||
#
|
||||
# Called from inside a task body, ``fn`` runs in place and nothing is
|
||||
# checkpointed: a task is a single job and is never replayed.
|
||||
async def step(name: str, fn)
|
||||
|
||||
# Server-side sleep — suspend the workflow for the given duration without holding a worker.
|
||||
#
|
||||
# Inside a @workflow, the parent job suspends and auto-resumes after ``seconds``.
|
||||
# Outside a workflow, falls back to ``asyncio.sleep``.
|
||||
# Outside a workflow, or inside a task body, falls back to ``asyncio.sleep``.
|
||||
async def sleep(seconds: int)
|
||||
|
||||
# Suspend the workflow and wait for an external approval.
|
||||
|
||||
Reference in New Issue
Block a user