The maximum time out you can specify for a HTTP request is 120sec(default is 10), so you'll need to decide if the services that you are using are feasable to work in that time limit...You can always handle random api call time outs using try - catch block, but if you think that the service that you are using would almost for every call out need more time then I'm afraid you'll need to look for a better solution as Batch apex approach would not work in your case. For your Ref: http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_callouts_timeouts.htm
I suggest give a try putting the callout logic in execute() method as 120 sec is massive time and majority of the services give you response a few seconds.
The maximum time out you can specify for a HTTP request is 120sec(default is 10), so you'll need to decide if the services that you are using are feasable to work in that time limit...You can always handle random api call time outs using try - catch block, but if you think that the service that you are using would almost for every call out need more time then I'm afraid you'll need to look for a better solution as Batch apex approach would not work in your case. For your Ref: http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_callouts_timeouts.htm
I suggest give a try putting the callout logic in execute() method as 120 sec is massive time and majority of the services give you response a few seconds.
First, you can't call a future method from a Batch class. My guess is that the threads generated from batches are considered "future" methods, so trying to do it results in the "FATAL_ERROR System.LimitException: Too many future calls: 1" error.
The maximum time out you can specify for a HTTP request is 120sec(default is 10), so you'll need to decide if the services that you are using are feasable to work in that time limit...You can always handle random api call time outs using try - catch block, but if you think that the service that you are using would almost for every call out need more time then I'm afraid you'll need to look for a better solution as Batch apex approach would not work in your case.
For your Ref: http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_callouts_timeouts.htm
I suggest give a try putting the callout logic in execute() method as 120 sec is massive time and majority of the services give you response a few seconds.
https://developer.salesforce.com/forums/?id=906F0000000AqdVIAS
Best Regards
Naga Kiran
All Answers
The maximum time out you can specify for a HTTP request is 120sec(default is 10), so you'll need to decide if the services that you are using are feasable to work in that time limit...You can always handle random api call time outs using try - catch block, but if you think that the service that you are using would almost for every call out need more time then I'm afraid you'll need to look for a better solution as Batch apex approach would not work in your case.
For your Ref: http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_callouts_timeouts.htm
I suggest give a try putting the callout logic in execute() method as 120 sec is massive time and majority of the services give you response a few seconds.
https://developer.salesforce.com/forums/?id=906F0000000AqdVIAS
Best Regards
Naga Kiran
First, you can't call a future method from a Batch class. My guess is that the threads generated from batches are considered "future" methods, so trying to do it results in the "FATAL_ERROR System.LimitException: Too many future calls: 1" error.
Regards,
-Vivek
we can't call a future method from a Batch class due to salesforce Limitation.
Regards
Satish Atla
Reason : Future and Batch apex both are and asynchronous call. And salesforce does not allow chaining of asynchronous call.