pfx-api:distributedCalculation

pfx-api:distributedCalculation

Trigger a distributed calculation job on a Datamart. Distributed calculations split the workload across the Pricefx cluster for improved performance on large Datamarts.

URI Format

pfx-api:distributedCalculation?param1=value1&param2=value2

Parameters

Parameter

Type

Default

Description

objectType

ObjectType (enum)

--

The Pricefx object type. Typically DM

typedId

String

--

The typedId of the Datamart entity (e.g. 5.DM)

XML Route Examples

Trigger distributed calculation on a Datamart

XML
<route>
    <from uri="direct:distributedCalc"/>
    <to uri="pfx-api:distributedCalculation?objectType=DM&amp;typedId=5.DM"/>
</route>

Distributed calculation as part of a Datamart pipeline

XML
<route>
    <from uri="direct:fullDMPipeline"/>
    <to uri="pfx-api:loaddata?objectType=DMDS&amp;dsUniqueName=MyDataSource&amp;mapper=dsMapper&amp;businessKeys=sku,region"/>
    <to uri="pfx-api:flush?dataFeedName=MyFeed&amp;dataSourceName=MyDS"/>
    <to uri="pfx-api:refresh?targetName=MyDatamart"/>
    <to uri="pfx-api:distributedCalculation?objectType=DM&amp;typedId=5.DM"/>
</route>

Common Pitfalls

  • typedId is required: You must provide the typedId of the Datamart to calculate. The format is the numeric ID followed by a dot and the object type suffix, e.g. 5.DM.

  • objectType should be DM: Distributed calculation is designed for Datamart (DM) objects. Using other object types may produce unexpected results.

  • Long-running operation: Distributed calculations can take significant time depending on the Datamart size and cluster capacity. Ensure your route timeout settings accommodate this.

  • Order in pipeline: Distributed calculation is typically the last step after data loading, flushing, and refreshing. Running it before refresh completes will calculate on stale data.

  • Cluster dependency: This method relies on the Pricefx cluster's distributed computing capabilities. Performance depends on the cluster configuration and current load.