Cloud API and event batch processing


We just completed a draft of our micro-app targeting the use-case we want (in just half a day which is really nice!) and we’re now at the cloud API code part.

Our use-case requires to enqueue large amounts of data and sync this data periodically, but not too often in order to have a decent battery life. The data must then be forwarded to our custom API on a dedicated server via a HTTP post.

From what i’ve seen, the function on the cloud side API is called one time per queued event. That means, when the beacon syncs, there are potentially several thousands of requests that will be issued to our server in a very small amount of time, which is not really desirable.

In that regard, is there a way to batch process those events, such that we can pack as much events as we can in a few http requests, instead of thousand small ones? I’ve already tried using a queuing mecanism that gets dispatched once a specific number of events is reached, but the variable does not persists in memory. Another workaround I see is using the estimote REST endpoint URL to do the batch processing (either directly in the cloud app or remotely elsewhere) but I find that not really desirable.

Thank you!

Maybe a copy function in the cloud-side API that reads the estimate cloud queue and writes to a JMS queue like ActiveMQ. Your batch processing then reads the estimote data from the JMS queue.