API Connection Timeout

Hi - I have an issue where I keep getting a timeout error when trying to run a post api call in bulk.  I have two modules, one for our main app and I have created a secondary app which the sole purpose is to serve as an API.  When I try to process a handful of records, about 5-10 everything works ok, it is slow, but it works.  When I try to do a larger set of data, I keep getting a timout error.  I have raised the timeout parameter in my API app to 360 seconds.  That doesnt seem to work.  Any thoughts please.  I have read all the other posts here, took guidance, tried it out, but cant seem to get it to work.  Any help would be appreciated.  

Hello Peter, 

Kindly post some screenshots of your actions or OML file for more detail.


Regards,

Sanjay


Sanjay Kumar Sahu wrote:

Hello Peter, 

Kindly post some screenshots of your actions or OML file for more detail.


Regards,

Sanjay


Thank you for replying.  I cannot post the oml due to NDA's that are in place.  When you say actions what exactly would you like to see?

 

Hello Peter.

The issue with calls usually fits into one of 4 categories:


Producer

-timeout reading from database
can you cache the query?

-timeout generating the structure
can you create the rows in advance and just read them?


Consumer
-timeout writing to database
can you write to a temporary table and later to the validations?

-timeout reading from server
can you get smaller batches each time?

Nuno Reis wrote:

Hello Peter.

The issue with calls usually fits into one of 4 categories:


Producer

-timeout reading from database
can you cache the query?

-timeout generating the structure
can you create the rows in advance and just read them?


Consumer
-timeout writing to database
can you write to a temporary table and later to the validations?

-timeout reading from server
can you get smaller batches each time?

 

 Thanks Nuno, so if I'm reading from a csv, and constructing the outbound request, in this case its a post, how would I accomplish that by creating rows in advance and just reading them?  It does everything fine today in regards to the post api call.  It just times out when I add a lot of rows to the spreadsheet.  The api is invoked by a user dropping the csv file which is formatted properly and then waiting for a success response.

I would split it into tasks:

1- upload CSV

2- split CSV into records of a table.

3-now the page assumes its task is done and will just wait for an answer by looking into the DB .(check here how)

3-send records to API in the background and mark them as sent. If you can send them in smaller batches, even better.

This way any timeout will be independent of the rest.

Nuno Reis wrote:

I would split it into tasks:

1- upload CSV

2- split CSV into records of a table.

3-now the page assumes its task is done and will just wait for an answer by looking into the DB .(check here how)

3-send records to API in the background and mark them as sent. If you can send them in smaller batches, even better.

This way any timeout will be independent of the rest.

 Thanks Nuno - is there any possible way to do this without the creation of a table?  They are wanting to limit db calls because they are on the free version at this time.

 

The table won't cost you. And you can delete data as soon as it is sent so space is not an issue.