
___x_cmd_sleep_beacon(){
    local t="${1:-5}"  # 5 seconds to check it out ...

    local x_=5
    ___x_cmd humantime tosec_ "$t" || return

    sleep:info "Sleep in seconds: $x_"

    # Using ctrl-c to cancel ...
    while true; do
        ___x_cmd_cmds_sleep "$x_" || return
        command date +"%s %Y %m %d %H:%M:%S"
    done
}

___x_cmd_sleep_schd(){
    [ $# -gt 0 ] || set -- 5

    local t="${1}"; shift

    local IFS=" "
    [ $# -gt 0 ] || N=sleep M="Empty command list -> $*" log:ret:64

    local x_=5
    ___x_cmd humantime tosec_ "$t" || return

    sleep:info "Sleep in seconds: $x_"

    while true; do
        "$@"
        [ -z "$___X_CMD_SLEEP_SCHD_END" ]   || {
            sleep:info "Schedule terminated because ___X_CMD_SLEEP_SCHD_END is set"
            ___X_CMD_SLEEP_SCHD_END=
            return 0
        }

        ___x_cmd_cmds_sleep "$x_"           || return
    done
}
