SafeSlingerProject/SafeSlinger-AppEngine

add exchange support for eventual concurrency

Closed this issue · 2 comments

App Engine has been recommending the following:

  • The application should be updated to the Python 2.7 runtime as soon as possible, which offers performance improvements and many new features.
  • All customers should migrate to the High-Replication datastore which offers greater stability and is resilient to data center failure.

This could be done on the exchange side since the design already uses an eventual concurrency modeled database, however it could be difficult on the messaging side, especially for iOS messages since our notification method mandates immediate concurrency.

The exchange support for this was added several months ago. I believe the only remaining change to support eventual concurrency on the messaging side, is to run a query for new message availability on the messages table between messaging insertion and the sending of the push message to push services. This will prevent the push message from arriving on the client before the data has been fully replicated across all DRM message tables for our app. Otherwise, it would have appeared to have been an expired message, even though it had been sent only seconds before.

After that, we can deploy both new server apps.

Ready and deployed.