PK œqhYî¶J‚ßFßF)nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/ $#$#$#

Dir : /proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/thorium/
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64
IP: 209.182.202.254
Choose File :

Url:
Dir : //proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/thorium/timer.py

"""
Allow for flow based timers. These timers allow for a sleep to exist across
multiple runs of the flow
"""

import time


def hold(name, seconds):
    """
    Wait for a given period of time, then fire a result of True, requiring
    this state allows for an action to be blocked for evaluation based on
    time

    USAGE:

    .. code-block:: yaml

        hold_on_a_moment:
          timer.hold:
            - seconds: 30
    """
    ret = {"name": name, "result": False, "comment": "", "changes": {}}
    start = time.time()
    if "timer" not in __context__:
        __context__["timer"] = {}
    if name not in __context__["timer"]:
        __context__["timer"][name] = start
    if (start - __context__["timer"][name]) > seconds:
        ret["result"] = True
        __context__["timer"][name] = start
    return ret