|Piper Push Cache||Documentation||Download||Samples||Contact|
Process flows or just flows for short are a set of tasks linked together to process a record in Piper. Each flow has an entry point or entry task that is called with the JSON record to be processed. As each task processes the JSON a link is selected to move to the next task. The task also determines what JSON document is passed to the next task. This continues until a task is called with no transitions.
Some of the terminology used besides flows, tasks, and links are boxes and actors. A box is synonym for a JSON document. It also has another JSON element that identifies where the record is from. The box also contains a tracking identifier for following a record as it moves through a flow. Much of this is transparent but some error messages may refer to those elements. A task receives boxes and ships boxes to the next task according to the link selected. Actors are the components of a task that performs the processing specific to the task.
In Piper flows are associated with a group. Once a record is added to a group the flow for the group is started with the record.
There are some built in flows. They are:
|cache_only||Places record in the cache only. (see: help cache_only)|
|chglog_only||Write record to the change long only. (see: help chglog_only)|
|chglog_cache||Writes record to the change log and addes it to the cache. (see help chglog_cache)|
|ignore||Ignores the record and does nothing with it.|
The flows are defined by JSON files. These files are placed in a separate directory and the name of the flow is used to determine the file path to follow to load the flow file. The file names used for attempting a load are first the name of the flow then the name with a .flow suffix and finally the flow name with a .json suffix. More details on the flow file format are available at the flow_config help topic.
There are a number of built in actors. These define how a task behaves. The built in task actors are:
|async||Adds a thread to the flow. (see help actor_async)|
|cache||Places a record in the cache. (see help actor_cache)|
|chglog||Writes a record to the change log. (see help actor_chglog)|
|nats_publish||Publishes a NATS message. (see help actor_nats)|
|split||Allows parallel asynchronous paths. (see help actor_split)|
|join||Joins parallel paths back into one. (see help actor_join)|
|switch||Evaluates expressions on each brach until one match and then follows that link. (see help actor_switch)|
|spawn||Spawns a new process if needed and sends the JSON box to the new process. Replies are used to select a transition to the next task.. (see help actor_spawn)|
|remote||Sends the JSON box to the remote process. Replies are used to select a transition to the next. (see help actor_remote)|
|http||Available in a future release. (see help actor_http)|
|transform||Available in a future release. (see help actor_transform)|
|< Previous||Next >|