When a block is terminated, that block and all of its child blocks are
terminated. So if you terminate a black that has a held child block, the
terminate should override the held block and terminate the entire block
that you asked to be terminated. Note that the STAX Monitor simply
submits HOLD, TERMINATE, RELEASE, etc requests to the STAX service, so its
the STAX service, not the STAX Monitor that handles holding, terminating,
and releasing blocks. The STAX Monitor simply gets messages (via the
Event service) to update it on what actions have taken place in the job).
The following STAX job demonstrates this. If you run this job, it will
hold Block2. If you terminate Block1 (Block2's parent) or Block2 without
first releasing Block2, then message "After hold in Block2. Should not
be logged if Block1 or Block2 is terminated before Block2 is released"
will not be logged and the job will then run Block 3. This is working as
designed. Post again if this did not answer your question.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "stax.dtd">
<stax>
<defaultcall function="StartHere"/>
<script>
machine = 'local'
</script>
<function name="StartHere">
<sequence>
<block name="'Block1'">
<sequence>
<block name="'Block2'">
<sequence>
<log message="1">
'In Block2 before hold'
</log>
<hold/>
<log message="1">
'After hold in Block2. Should not be logged if Block1 or
Block2 is terminated before Block2 is released'
</log>
</sequence>
</block>
</sequence>
</block>
<block name="'Block3'">
<sequence>
<log message="1">
'Logged by Block3 which is run after Block2 completes'
</log>
<stafcmd name="'Delay for 5 seconds'">
<location>'local'</location>
<service>'DELAY'</service>
<request>'DELAY 5s'</request>
</stafcmd>
</sequence>
</block>
</sequence>
</function>
</stax>
--------------------------------------------------------------
Sharon Lucas
IBM Austin, [email protected]
(512) 286-7313 or Tieline 363-7313
Strösser, Bodo <[email protected]>
06/26/2009 11:53 AM
To
"'[email protected]'" <[email protected]>
cc
Subject
[staf-users] Wrong picture on STAXMon when terminating a block
Hi,
i'm using STAX 3.3.6
I think, there is a bug in STAXMon, that can be reproduced performing the
following
steps:
- A STAX job holds the innermost block of itself using <hold/>.
- Now we kill a parent block, as we want some part of the job to be
skipped when
the block in "hold" is released.
- As soon as the parent block is terminated from STAXMon, STAXMon no
longer
displays the terminated block's childs, which I think is wrong.
- As the block in "hold" no longer is displayed, it can not be released
via STAXMon.
When the Monitor window is closed and started again, the missing blocks
are back.
Best Regards
Bodo
------------------------------------------------------------------------------
_______________________________________________
staf-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/staf-users
------------------------------------------------------------------------------
_______________________________________________
staf-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/staf-users