I currently use Decelerator but not the best as the time taken to process different features varies, If this was not in place some features don't get processed as too any features are going to the API for it to cope with and therefore returned back with no results. Ideally want to know the feature has come out of the API and then start the next feature.
Just wondering: Is there a responce form the API when the processing is done? if so, you could use that to trigger the next feature to be sent to the API.
Just wondering: Is there a responce form the API when the processing is done? if so, you could use that to trigger the next feature to be sent to the API.
there is a response, I get back my data with additional attributes returned, but not sure how to control the subsequent features in the queue not yet processed (using HTTPCaller).
there is a response, I get back my data with additional attributes returned, but not sure how to control the subsequent features in the queue not yet processed (using HTTPCaller).
But I'll try and think of a solution that doesn't involve multiple workspaces.
But I'll try and think of a solution that doesn't involve multiple workspaces.
The only other non scripting way I can think of is to aggregate the features with list, and then use a custom transformer to loop through the list. The HTTPCaller would be forked into two streams, one that removes the list (and restores the individual geometry) and gets output, and the other that loops back to a ListIndexer, incrementing the index value.
Just wondering: Is there a responce form the API when the processing is done? if so, you could use that to trigger the next feature to be sent to the API.
The only way I can think to keep this in one workspace is to send a message back to the start of the workspace without which the next feature won't advance (it is stopped by the lack of a FeatureMerger supplier). And the only way I can think of to do that is with a queue such as the Amazon SQS, like this:
Even then I'm not sure if the FeatureMerger will wait for a supplier, or just count it as NotMerged.
Anyone else with any bright ideas?
Here you would want to create the loop counter and probably pull out list entries using the ListIndexer pointing to LoopCounter as the item to extract.
there is a response, I get back my data with additional attributes returned, but not sure how to control the subsequent features in the queue not yet processed (using HTTPCaller).
The examples supplied can get you started on how to implement such a looping solution.
Thanks I will have a look at the options suggested