I want to use a typical push queue to process slow operations in background. For some HTTP requests, the app creates a new task according to the parameters sent.
My app serves the http request from home automation systems installed at our customers. The number of installed systems will increase by 4000 per month. Each system will communicate every 6 seconds with the server. However, a task will only be created if an event occurs and is embedded in the parameters passed by the query. This occurs approximately 600 times per day. It is important to process the task sent by a system before it sends another one, so before 6 seconds. A task reads and stores data in Datastore by using Objectify, sends emails in case or alert and/or push to mobile phones.
My question is the following :
How to fix the processing rate, bucket-size and max-concurrent-requests values into the queue.xml
?
I need to be sure that all requests will be served and all tasks will be processed. But I don't want to pay too much for unused instances.
Thanks in advance for your response.