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¶m2=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
<route>
<from uri="direct:distributedCalc"/>
<to uri="pfx-api:distributedCalculation?objectType=DM&typedId=5.DM"/>
</route>
Distributed calculation as part of a Datamart pipeline
<route>
<from uri="direct:fullDMPipeline"/>
<to uri="pfx-api:loaddata?objectType=DMDS&dsUniqueName=MyDataSource&mapper=dsMapper&businessKeys=sku,region"/>
<to uri="pfx-api:flush?dataFeedName=MyFeed&dataSourceName=MyDS"/>
<to uri="pfx-api:refresh?targetName=MyDatamart"/>
<to uri="pfx-api:distributedCalculation?objectType=DM&typedId=5.DM"/>
</route>
Common Pitfalls
-
typedId is required: You must provide the
typedIdof 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.