launch.actions.timer_action module
Module for the TimerAction action.
- class launch.actions.timer_action.TimerAction[source]
Bases:
ActionAction that defers other entities until a period of time has passed, unless canceled.
All timers are “one-shot”, in that they only fire one time and never again.
Entities executed after the given period of time can access the launch configurations that exist at the time that the timer action executed, but changes made by them will not persist. This is similar to grouping the entities in a
launch.actions.GroupActionwithscoped=True.- __init__(*, period: float | str | Path | Substitution | Iterable[str | Path | Substitution], actions: Iterable[LaunchDescriptionEntity], cancel_on_shutdown: bool | str | Path | Substitution | Iterable[str | Path | Substitution] = True, **kwargs) None[source]
Create a TimerAction.
- Parameters:
period – the time (in seconds) to set the timer for
actions – an iterable containing actions to be executed on timeout
cancel_on_shutdown – whether to cancel the timer on launch shutdown
- property actions
- cancel() None[source]
Cancel this TimerAction.
Calling cancel will not fail if the timer has already finished or already been canceled or if the timer has not been started yet.
This function is not thread-safe and should be called only from under another coroutine.
- describe_conditional_sub_entities() List[Tuple[str, Iterable[LaunchDescriptionEntity]]][source]
Return the actions that will result when the timer expires, but was not canceled.
- execute(context: LaunchContext) List[LaunchDescriptionEntity] | None[source]
Execute the action.
This does the following: - register a global event handler for TimerAction’s if not already done - create a task for the coroutine that waits until canceled or timeout - coroutine asynchronously fires event after timeout, if not canceled
- get_asyncio_future() Future | None[source]
Return an asyncio Future, used to let the launch system know when we’re done.
- handle(context: LaunchContext) LaunchDescriptionEntity | Iterable[LaunchDescriptionEntity] | None[source]
Handle firing of timer.
- classmethod parse(entity: Entity, parser: Parser)[source]
Return the Timer action and kwargs for constructing it.
- property period