I'm looking for advice regarding the best way to dedicate App Engine instances for running certain deferred tasks.
We want to be sure that deferred tasks, as well as cron tasks, can never penalize the processing of actual client requests. One way to do this would be to have a separate GAE project, dedicated to running these tasks, and use the Cloud Tasks api (https://cloud.google.com/tasks/docs/creating-appengine-tasks) and create tasks with a specific target project. But this second 'batch' GAE project would need to have read/write access to the Ndb datastore of the first project, which does not seem to be possible. Another way, which seems easier, would be to use a specific version of the same project, which would be dedicated to the handling of these batch tasks. Thus when we deploy version v103 of the project, we would also deploy v103-batch, and then when queuing tasks we would specify that the target version is v103-batch. This would avoid the need of sharing Datastore between two projects. This technique was suggested in an SO post by Guido Von Rossum (https://stackoverflow.com/questions/12074754/google-app-engine-app-interoperability), but that was back in 2012, things may have changed since then. Thank you for your inputs. -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/794f4421-b2d8-46f2-9377-55e474854f59n%40googlegroups.com.
