PHP-ETL - Operations
Building Blocks - Chain Repeat(repeat)
The repeat
operation executes a chain of operations repeatedly until a specified condition is met.
This is useful for processing data in a loop, such as paginating through API results or processing a file until its end.
Options
- chain: The chain of operations to be executed in each iteration.
- while: An expression that determines whether the loop should continue. The expression is evaluated before each iteration. The loop continues as long as the expression evaluates to
true
. - allow_async: (Optional) A boolean that specifies whether the operations within the loop can be executed asynchronously. Defaults to
false
.
Example
Here’s an example of how to use the repeat
operation to fetch and process data from a paginated API:
chain:
- operation: repeat
options:
while: "context.page <= context.totalPages"
allow_async: true
chain:
- operation: http-request
options:
url: "https://api.example.com/data?page="
method: GET
- operation: rule-transformer
options:
# Rules to transform the API response.
- operation: load-to-database
options:
# Options to load the data into a database.
- operation: expression
options:
expression: "context.page = context.page + 1"