none
Long time to move from Running to Finished (after all tasks are 100% Succeeded)

    Question

  • Is there a way to reduce the time it takes for an SOA job to move from Running to Finished? When I open up the job, I can see all tasks are in "Succeeded" (Green) state. It sometime takes several minutes to move to finished state - releaseNodeCommandLine is not even specified in the svc config file!

    I am using Update 2 2016 Pack

    Thanks

    Wednesday, October 10, 2018 2:12 PM

Answers

  • If you don't call close on the session when all responses are fetched, as it is a durable session, there can be other clients to attach to the session and do calculation / fetch result, so it will keep running until sessionIdleTimeout happens. You can configure the value to a short time period if you like. The config is in the service registration file.

    Friday, October 12, 2018 4:27 AM

All replies

  • Hi,

    Did you close your session in your SOA client after all responses received?


    Thursday, October 11, 2018 2:30 AM
  • I dont use .Close() on the session as it could take hours to run the jobs on the cluster.  My scenario is to be able to submit several '000 requests to the cluster using SOA session. THis is not an interactive session. User submits the requests, closes the client application and when the cluster completes the job, user gets an email.

    Everything seems to work fine except that there is a 5 additional minute delay from the time the last request is actually Complete/Finished on cluster.

    Any way to reduce this timeout to move the job from Running to Finished state?

    This is what I am using:

     using (DurableSession session = DurableSession.CreateSession(info))
                    {
                        using (BrokerClient<IClusterWorker> client = new BrokerClient<IClusterWorker>(session))
                        {
    for (i= 1 to 50000)
    {
    ..
    ..
    ..
    ExecuteOnClusterRequest request = new ExecuteOnClusterRequest(JobInput);
                                client.SendRequest(request);
    }
    client.EndRequests();
    }
    
    }


    Thursday, October 11, 2018 5:34 PM
  • If you don't call close on the session when all responses are fetched, as it is a durable session, there can be other clients to attach to the session and do calculation / fetch result, so it will keep running until sessionIdleTimeout happens. You can configure the value to a short time period if you like. The config is in the service registration file.

    Friday, October 12, 2018 4:27 AM