Design suggestion for an app which will wake up periodically and execute some long running tasks
I wish to develop a Java Appengine app. The basic task would be to do some tasks at some pre-configured intervals. The task itself could run for several hours and push messages to mobile devices (GCM). Some task timings could overlap. Q1. Is Cron job the way to go? How do you set up cron job timings dynamically or have it read them from some config file? (since the timings of each job may change, sometimes). EDIT: This needs to work such that I can keep adding some "timings" to the config, dynamically (maybe through a Google spreadsheet or something and without having to redeploy the app) Q2. I was reading about manual scaling, "*A manually-scaled instance can choose to handle /_ah/start and execute a program or script for many hours without returning an HTTP response code.*" For my use-case, do I need automatic scaling or manual scaling? or should I use Backends? Thanks!
For any task that runs several hours on app engine backend instances is the answer because frontend instances has 60seconds deadline before it kills any request. Cron job by design is for tasks that are supposed to be done at specified intervals. See the app engine cron documentation on how to configure the intervals in cron.xml (you can't dynamically change the schedule). From the requirements you've shared, I suggest you look into Task queues which can be used along with Cron job to achieve what you're looking for.
What App Engine datastore caching strategy will give complete cache consistency?
Google App Engine : High CPU Utilization
appengine cloud storage compile error in demo project
Issue with using the Google Datastore query console
How can I run `gcloud preview app setup-managed-vms` without this error?
Appengine unit test fail with Objectify - No Class registered
What is the name of the database or table?
Google Apps Domain Authentication with Google App Engine - Too many redirects
can I combine NDB and mysqldb in one app on google cloud platform
Logging in a Google Cloud Endpoint
Appengine Maven Plugin - Endpoints Goal - Enable filtering on .discovery files
authentication request once for both side
How do I remove my reported issue from google code bug tracking?
Can I use Goroutines in Google App Engine?
Google App Engine: Caching a 30 mb object
How to store image location in google app engine (Java)