Asynchronous Calls from server needs to wait to finish?

Ok, this is the case, we have a method that is invoked from the client, it does some calculations on the server level and as part of those calculations the server may execute another method from the same server but Asynchronously. We call it in this way so we can return control to the client from the original call.

We do not care about the result of the asynchronous call because it is being monitored by another system. We just want to execute it on the server and leave it running while we return control to the client.

The question is, are we going to have a problem by doing that? I mean does the async call will continue running on the server or it will die the moment we leave the original invoking method on the server? We use the normal factory class, so the moment the call gets executed I guess the thread is destroyed. But we called the async method from there so I will assume this new call will have an independant life span than the caller method because it is being executed on a different thread, unless it need some kind of presence or existence of the calling method, which was on a different thread that is probably destroyed by now.

We are having some issues with it, but before going into a witch hunt i want to make sure the entire problem is not because of this.

Any advise will be welcomed.

Hi.
In RemObjects async calls are async only from client side, on server side it runs as usual. Also simple channels doesn’t allow another call until previous will finished.
You can use super channels for invoking server methods without waiting of finish previous.
Another solution - you can put your long running call in separate thread on server side. In this case such method will finish immediately. It can be use with any channel type because for client it finishes quickly but it will be more complex to implement.

I create a duplicate channel component to run my asynch calls through. I can then leave them running and do other things with the apps “main” channel component. I too don’t care about the result of long running processes on the server. I only need to invoke the process after the user has done something on the client. Note, you don’t need a duplicate Message component as this is automatically cloned in the asynch call.