Hi Team,
Yesterday I've committed some code to enable cancelling builds:
* Schedules have a setting that indicates the maximum job execution time,
where job means BuildProjectTask; 0 means indefinitely, the default being 1
hour.
* You can cancel a running build.
I'm not sure where to put the cancel build button, so right now I've added a
'(cancel)' link
to the StateCell that's displayed in the projectGroupSummaryAction page (and
probably other places).
Some questions/remarks:
- What's the best place to place the cancel build button?
Perhaps just list the job on the summary page as 'current job'
(in the future: current jobs) and add a cancel button there.
- The build ID of the cancelled task will either be 0 or max(build id),
depending on when it's cancelled. The project _is_ set in error state
so it finishes normally. This gives me the idea that the build number issue
already was there; this needs to be fixed (I'm looking into it).
- The results page is broken - some jdo detached error with scmResults. I can't
figure out
why it doesn't work.
- We might want to set a timeout on individual actions instead of the entire
job (1.2?)
- An issue Emmanuel has pointed out to me is that cancelling builds on windows
doesn't work
well. I've dug into the sun site and found several others with the same
problem.
The issue is that on windows, if you execute a batchfile (Runtime.exec) and
you cancel that,
any process started in the batchfile isn't killed. This is due to windows
process management.
Just a question: why not call m1/m2/java from a new classloader/thread within continuum itself? Saves some shell magick,
and it's more easily killed (using the concurrent package). Or call java
directly - also no problem with killing that
and any child processes.
-- Kenney