This migration guide applies to 7.10.38.28-LTS and 7.10.41.0 and 11.2.0.
Process chains are a commonly used feature in Intershop Commerce Management (ICM). Executing jobs or pipelines in a process chain that get stuck can create long feedback loops and unnecessarily waste resources. Therefore, the default timeout defaultChainElementTimeout
(specified in minutes) for all chain elements (sequence, concurrent, job, pipeline) has been changed from twenty-four hours to one hour. Only if you have very long running tasks that exceed one hour will you need to adjust this timeout in your process chain(s) as described below.
Concept - Process Chains (valid to 11.1) (for 7.10.38.28-LTS and 7.10.41.0)
Concept - Process Chains (valid to 11.x) (for 11.2.0)
You can set the global chain element timeout (defined in minutes) on the chain element with defaultChainElementTimeout
.
Example of global chain element timeout set to three hours:
[...] <p:chain xmlns:p="http://www.intershop.com/xml/ns/enfinity/6.4/core/processchain" name="Chain 1" defaultChainElementTimeout="180" > [...]
Alternatively, the timeout can be individually set on the respective chain element with timeout
.
Example of sequence timeout set to three hours:
[...] <p:sequence name="Chain 1.1 - Sequence" timeout="180"> <p:description>Sequence example which runs into timeout after 3 hours (60*3 = 180) if not completed</p:description> <p:job job="ExampleJob" name="Chain 1.1.1 - Job" /> <p:pipeline pipeline="ExamplePipeline" name="Chain 1.1.2 - Pipeline" /> </p:sequence> [...]
A third option would be to set the timeout programmatically on the respective chain element.
Example of sequence timeout set to three hours:
[...] ProcessChainTask sequence = new SequenceImpl(exampleTask); sequence.setTimeout(3); sequence.setTimeoutUnit(TimeUnit.HOURS); [...]