Summary
How can I tell which states were called, and which transitions were taken. A view such as:
Start \-> State 2 (succeeded) \-> State 3 (succeeded) \-> State 4 (failed) \-> End
Solution
Use the findObjects API on logEntry, and the filter with containerName equal to your workflowName. Something like:
$[/projects/EC-Admin/scripts/perlHeader]
$[/projects/EC-Admin/scripts/perlLib]
my $wkfName="workflow_222_201308090956";
# create filterList
my @filterList;
# get only log associated to my workflow
push (@filterList, {"propertyName" => "containerName",
"operator" => "equals",
"operand1" => "workflow_222_201308090956"});
push (@filterList, {"propertyName" => "containerType",
"operator" => "equals",
"operand1" => "workflow"});
my ($success, $xPath) = InvokeCommander("", "findObjects", "logEntry",
{maxIds => 5000,
filter => \\@filterList ,
sort => [ {propertyName => "time", order => "ascending"} \]});
It should return a number of objects like:
<object>
<objectId>logEntry-122325</objectId>
<logEntry>
<logEntryId>122325</logEntryId>
<container>workflow-222</container>
<containerName>workflow_222_201308090956</containerName>
<message>Invoking the sub-job for state 'Test'</message>
<principal>project: Training_user</principal>
<severity>INFO</severity>
<subject>state-1319</subject>
<subjectName>Test</subjectName>
<time>2013-08-09T16:56:29.586Z</time>
</logEntry>
</object>
<object>
<objectId>logEntry-122328</objectId>
<logEntry>
<logEntryId>122328</logEntryId>
<container>workflow-222</container>
<containerName>workflow_222_201308090956</containerName>
<message>The sub-job 'job_34687_201308090956' for state 'Test' has completed</message>
<principal>project: Training_user</principal>
<severity>INFO</severity>
<subject>state-1319</subject>
<subjectName>Test</subjectName>
<time>2013-08-09T16:56:29.788Z</time>
</logEntry>
</object>
Applies to
- Product versions: All
- OS versions: Supported platforms
0 Comments