flytekit.core.gate
| Class |
Description |
Gate |
A node type that waits for user input before proceeding with a workflow. |
| Method |
Description |
approve() |
Create a Gate object for binary approval. |
sleep() |
Create a sleep Gate object. |
wait_for_input() |
Create a Gate object that waits for user input of the specified type. |
| Property |
Type |
Description |
DEFAULT_TIMEOUT |
timedelta |
|
def approve(
upstream_item: Union[Tuple[Promise], Promise, VoidPromise],
name: str,
timeout: datetime.timedelta,
)
Create a Gate object for binary approval.
Create a Gate object. This object will function like a task. Note that unlike a task,
each time this function is called, a new Python object is created. If a workflow
calls a subworkflow twice, and the subworkflow has a signal, then two Gate
objects are created. This shouldn’t be a problem as long as the objects are identical.
| Parameter |
Type |
Description |
upstream_item |
Union[Tuple[Promise], Promise, VoidPromise] |
This should be the output, one output, of a previous task, that you want to gate execution on. This is the value that you want a human to check before moving on. |
name |
str |
The name of the gate node. |
timeout |
datetime.timedelta |
How long to wait before Flyte fails the workflow. |
def sleep(
duration: datetime.timedelta,
)
Create a sleep Gate object.
| Parameter |
Type |
Description |
duration |
datetime.timedelta |
How long to sleep for |
def wait_for_input(
name: str,
timeout: datetime.timedelta,
expected_type: typing.Type,
)
Create a Gate object that waits for user input of the specified type.
Create a Gate object. This object will function like a task. Note that unlike a task,
each time this function is called, a new Python object is created. If a workflow
calls a subworkflow twice, and the subworkflow has a signal, then two Gate
objects are created. This shouldn’t be a problem as long as the objects are identical.
| Parameter |
Type |
Description |
name |
str |
The name of the gate node. |
timeout |
datetime.timedelta |
How long to wait for before Flyte fails the workflow. |
expected_type |
typing.Type |
What is the type that the user will be inputting? |
A node type that waits for user input before proceeding with a workflow.
A gate is a type of node that behaves like a task, but instead of running code, it either needs to wait
for user input to proceed or wait for a timer to complete running.
class Gate(
name: str,
input_type: typing.Optional[typing.Type] = None,
upstream_item: typing.Optional[typing.Any] = None,
sleep_duration: typing.Optional[datetime.timedelta] = None,
timeout: typing.Optional[datetime.timedelta] = None,
)
| Parameter |
Type |
Description |
name |
str |
|
input_type |
typing.Optional[typing.Type] |
|
upstream_item |
typing.Optional[typing.Any] |
|
sleep_duration |
typing.Optional[datetime.timedelta] |
|
timeout |
typing.Optional[datetime.timedelta] |
|
| Property |
Type |
Description |
input_type |
typing.Optional[typing.Type] |
|
literal_type |
typing.Optional[LiteralType] |
|
name |
str |
|
python_interface |
flyte_interface.Interface |
This will not be valid during local execution Part of SupportsNodeCreation interface |
sleep_duration |
typing.Optional[datetime.timedelta] |
|
def construct_node_metadata()
def local_execute(
ctx: FlyteContext,
**kwargs,
) -> Union[Tuple[Promise], Promise, VoidPromise]
| Parameter |
Type |
Description |
ctx |
FlyteContext |
|
**kwargs |
|
|
def local_execution_mode()