Cache Handling Process
The following flow diagrams demonstrate how Flypipe interacts with a node to handle its cache management.
Case 1: node.cache is None
sequenceDiagram
autonumber
Flypipe->>node: node.cache is None?
node->>Flypipe: No
Flypipe->>node: run node
node->>Flypipe: retrieve dataframe
Case 2: node.cache is not None
and cache exists
sequenceDiagram
autonumber
Flypipe->>node: node.cache is None?
node->>Flypipe: Yes
Flypipe->>node: Cache exists (run method `exists`)?
node->>Flypipe: Yes
Flypipe->>node: Read cache (run method `read`)
node->>Flypipe: retrieve dataframe
Case 2: node.cache is not None
and cache does NOT exist
sequenceDiagram
autonumber
Flypipe->>node: node.cache is None?
node->>Flypipe: Yes
Flypipe->>node: Cache exists (run method `exists`)?
node->>Flypipe: No
Flypipe->>node: run node
node->>Flypipe: retrieve dataframe
Flypipe->>node: Save cache (run method `write`)?