Hi

So the workflow would be :
° first stop all pending and sleeping projects
° send the cancel signal to all running projects
    and on every task / source control action
    first check that the cancel signal has not been set
    if it has been set, just return

--> we must make sure the state file is not updated
    since this will contain the datetimes of the last integration

Sounds like a plan to me ;-)

+1 vote


with kind regards
Ruben Willems


On Thu, Jun 18, 2009 at 12:30 PM, Craig <[email protected]> wrote:

>
> Hello all,
>
> I think this is happening because an external application is being
> called (e.g. checking for SCM modifications, retrieving source code,
> running a task, etc.)
>
> From what I can see in the code, a stop command doesn't kill any
> existing build - e.g. it doesn't send an AbortBuild command to any
> running projects. Instead, it sets the status of each project to
> stopping and then waits for the project thread to terminate. This
> means, if there is a build in progress (or a modification check), the
> project will continue building until finished, and only then will it
> stop and terminate the thread.
>
> Now we could send an abort build command to kill any active builds,
> but this has the side affect of potentially screwing up any data (e.g.
> SVN cache information, leaving files locked, etc.), so I am not very
> keen on doing this.
>
> An alternate would be to implement a cancellation process, where the
> project would check to see if it has been cancelled before running
> each task. This could be used in conjunction with
> servicebase.requestadditionaltime (since we don't know how long it
> would take to complete a task).
>
> Does anyone have any comments or preferences on this?
>
>
> Craig
>
> On Jun 17, 6:17 am, Daniel Nauck <[email protected]> wrote:
> > I noticed this problem everytime since the hot copy implementation. But
> > I don't know if hot copy is really the cause.
> >
> > David Gardiner schrieb:
> >
> > > I've certainly seen this problem when there are no projects running.
> >
> > > The odd thing is that the service status goes to "pending stop" and
> > > then changes back to "started", which is not what should happen.
> >
> > > I haven't checked the source, but the convention is that a service
> > > should shutdown as quickly as possible, but if it might take a little
> > > longer to finish up, RequestAdditionalTime (http://msdn.microsoft.com/
> > > en-us/library/
> > > system.serviceprocess.servicebase.requestadditionaltime.aspx) should
> > > be called to let the SCM know we're not finished yet.
> >
> > > -david
> >
> > > On Jun 16, 3:59 pm, Ruben Willems <[email protected]> wrote:
> >
> > >> Hi
> >
> > >> if that's the case, than there is probably only 1 loop through the
> chanin of
> > >> projects,
> > >> and not a test if all projects are stopped.
> >
> > >> with kind regards
> > >> Ruben Willems
> >
> > >> On Tue, Jun 16, 2009 at 8:56 AM, CinnamonDonkey <
> >
> > >> [email protected]> wrote:
> >
> > >>> I've seen this problem when there is no active projects (running on
> > >>> Windows XP).
> >
> > >>> On 16 June, 07:21, Ruben Willems <[email protected]> wrote:
> >
> > >>>> Hi
> >
> > >>>> I noticed this too, but when I tried to stop the service there was a
> >
> > >>> project
> >
> > >>>> being integrated.
> > >>>> So my guess is that ccnet tries to complete the integration iso
> aborting
> >
> > >>> it.
> >
> > >>>> Jira entry made :
> http://jira.public.thoughtworks.org/browse/CCNET-1568
> >
> > >>>> please vote for them, we try to fix the ones with votes first.
> >
> > >>>> with kind regards
> > >>>> Ruben Willems
> >
> > >>>> On Tue, Jun 16, 2009 at 3:55 AM, David Gardiner <
> [email protected]
> > >>>> wrote:
> >
> > >>>>> I've noticed with the latest 1.4.4 releases, that if I try and stop
> > >>>>> the CCSERVICE, that it will try and stop but then keep running...
> eg.
> >
> > >>>>> c:\Program Files\Microsoft Visual Studio 9.0\VC>sc \\a8002123 stop
> > >>>>> ccservice
> >
> > >>>>> SERVICE_NAME: ccservice
> > >>>>>        TYPE               : 10  WIN32_OWN_PROCESS
> > >>>>>        STATE              : 3  STOP_PENDING
> >
> > >>>>> (STOPPABLE,NOT_PAUSABLE,ACCEPTS_SHUTDOWN)
> > >>>>>        WIN32_EXIT_CODE    : 0  (0x0)
> > >>>>>        SERVICE_EXIT_CODE  : 0  (0x0)
> > >>>>>        CHECKPOINT         : 0x0
> > >>>>>        WAIT_HINT          : 0x0
> >
> > >>>>> So if I then check, the service is back to 'RUNNING'.
> >
> > >>>>> Telling it to stop again seems to work, but does confuse Windows as
> it
> > >>>>> takes ages to report back to say that the service is now not
> > >>>>> responding (presumably because it has shutdown).
> >
> > >>>>> -dave
>

Reply via email to