github.com/upcmd/up@v0.8.1-0.20230108151705-ad8b797bf04f/tests/functests/f0125.yml (about)

     1  doc_meta: |
     2    folder: loop
     3    title: break recursive loop
     4    head: |
     5      Introduce a internal var: up_runtime_task_layer_number. It is used for a force exit or an conditional break. The typical usecase would be a business logic to attempt to maximize the possibility ub a recurisve maner in code execution to probe. For example, web page scraping and a implementation of web spider etc.
     6  
     7    sections:
     8      - title: Demo
     9        log: yes
    10  
    11    related:
    12      refs:
    13        - title: break cmd func
    14          link: ../../cmd-func/c0120
    15        - title: advanced usage of break in call func
    16          link: ../../flow-controll/c0121
    17  
    18  notes:
    19    goal:
    20      - add feature to add a internal runtime var up_runtime_task_layer_number
    21      - it is useful for client to decide to quit or customise controll flow
    22  
    23  tasks:
    24  
    25    - name: task
    26      task:
    27  
    28        - func: call
    29          do:
    30            - layer2
    31  
    32    - name: layer2
    33      task:
    34        - func: cmd
    35          do:
    36            -
    37              name: print
    38              cmd: 'up_runtime_task_layer_number: {{.up_runtime_task_layer_number}}'
    39  
    40        - func: call
    41          do:
    42            - layer3
    43  
    44    - name: layer3
    45      task:
    46        - func: cmd
    47          do:
    48            -
    49              name: exit #or break
    50          if: '{{eq  .up_runtime_task_layer_number 4}}'
    51  
    52        - func: call
    53          do:
    54            - layer2