If you’re unfamiliar with feeds, feed root, chain logic (branches) or write logic (leaves), the definitions in Feed Structure define these concepts.
The dependency policy defines the amount and types of failures tolerated in a run of a given feed. Success or failure of a feed depends first on dependency policy, then Validation Policy and is defined in terms of success and failure of tasks based on depth.
Tasks are atomic work units that are created during the run of a feed. Tasks generally map 1-1 with an asynchronous request to a data source and parsing of that response. Tasks are assigned depth, tracked as both logical depth and recursive depth. They are also marked as succeeding or failing, depending on the result of business logic that they trigger.
Logical Depth is the “depth” of the business logic to which a task is sent. All feeds start with a root, which has depth 0. Logic called with tasks from the root will be given depth 1, Logic called by that logic would have depth 2 and so on.*
Recursive Depth is the “depth” a task has reached. This is really just a counter of the number of times chain logic has been called to produce the current task. Recursive depth is currently not supported in the dependency policy.
A dependency policy is defined in terms of a logical depth and the maxIncomplete and minComplete at that depth.
maxIncomplete - The highest allowable number of failures at a given depth. If set to 0 any failures will cause the feed to be “failed”. minComplete - The minimum number of tasks that must succeed at this depth for the feed to be considered “succeeded”.
row: {
maxIncomplete: 1000,
},
0: {
maxIncomplete: 0,
minComplete: 10
},
1: {
maxIncomplete: 0, // this is where there could be dangerous failures
},
2: {
maxIncomplete: 60, // Running this I saw 461389 results for the USA. 1000 per grid square, 75 results per request. So probably about 6000 write tasks
}
*Logical depth isn’t always as clean as 0, 1, 2 as tasks can be sent to the same logical depth or even back up (recursive behavior). But In most cases this holds.