Re: [fpc-pascal] CGI/FastCGI and WS request with a max time response

2018-01-04 Thread Marcos Douglas B. Santos
On Thu, Jan 4, 2018 at 10:33 PM, leledumbo via fpc-pascal
 wrote:
>> The problem is that the WS could take so long time that the entire request
> will broke with a "time out".
>
> I suggest making the request handling asynchronous instead. So request will
> only register and return some unique id to the requester, then do call to
> the WS in background thread. An endpoint shall be provided that when given a
> unique id will check whether the corresponding thread has finished executing
> or not, returning 200 + response data when done, and 202 if still in
> progress. This endpoint shall be called in regular interval by the
> requester, until it finishes processing or your server dies (500).

Interesting, but I can't do this way.
It should be just one call from client (desktop app and website) to my
REST service.
My service encapsulates the WS.
As I wrote previously to Michael, if the WS do not respond in "X
seconds", my service should forget it and return a "code Y".

Best,
Marcos Douglas
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Re: [fpc-pascal] CGI/FastCGI and WS request with a max time response

2018-01-04 Thread Marcos Douglas B. Santos
On Thu, Jan 4, 2018 at 6:33 PM, Michael Van Canneyt
 wrote:
>
> If you use a thread to consume it, yes.
>
> Without more info on how you consume this webservice, it's difficult to
> answer this.

Yes, sorry. I should explained more.
I'm using WST -> http://svn.code.sf.net/p/lazarus-ccr/svn/wst (rev.
5836) to consume WS.
Until now, I didn't find how to set a timeout in WST objects — is this possible?
As you already said, I thought to use a thread, but I may need to
control this manually... ideas how to do this as simple as possible?

My requirement is: If WS do not respond in "X seconds", forget it and
return the "code Y".

Regards,
Marcos Douglas
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Re: [fpc-pascal] CGI/FastCGI and WS request with a max time response

2018-01-04 Thread leledumbo via fpc-pascal
> The problem is that the WS could take so long time that the entire request
will broke with a "time out".

I suggest making the request handling asynchronous instead. So request will
only register and return some unique id to the requester, then do call to
the WS in background thread. An endpoint shall be provided that when given a
unique id will check whether the corresponding thread has finished executing
or not, returning 200 + response data when done, and 202 if still in
progress. This endpoint shall be called in regular interval by the
requester, until it finishes processing or your server dies (500).




--
Sent from: http://free-pascal-general.1045716.n5.nabble.com/
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Re: [fpc-pascal] CGI/FastCGI and WS request with a max time response

2018-01-04 Thread Michael Van Canneyt



On Thu, 4 Jan 2018, Marcos Douglas B. Santos wrote:


Hi,

I have a FastCGI application which needs to receive an user request but, in
some cases, the app should consume a WebService(WS) before make the
response to the user.
The problem is that the WS could take so long time that the entire request
will broke with a "time out".

My question is: Can I consume this WS with a max time to wait?


If you use a thread to consume it, yes.

Without more info on how you consume this webservice, it's difficult to
answer this.

Michael.
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

[fpc-pascal] CGI/FastCGI and WS request with a max time response

2018-01-04 Thread Marcos Douglas B. Santos
Hi,

I have a FastCGI application which needs to receive an user request but, in
some cases, the app should consume a WebService(WS) before make the
response to the user.
The problem is that the WS could take so long time that the entire request
will broke with a "time out".

My question is: Can I consume this WS with a max time to wait?
Would be better doing this in the code instead of change parameters in the
webserver. But, if there is no (simple) way to do that in the code, the
webserver more used to this app is Microsoft IIS.

Best regards,
Marcos Douglas
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal