The state of the process is not of interest, just which instance of many processes it is (i.e. there is no process specific state to store and query). I've got side entities all setup so that I can reliably make multi-entity group changes (i.e. processing will continue across requests, even from different clients).
I'm currently just using a random number as a process instance identity, to determine if a change was left hanging by the same process so its write lock (custom not GAE) can be expired immediately, as the processes are not threaded, rather then waiting the full timeout period. Rather then a random number I could use an entity key path, but that's more time consuming to generate and then it needs to periodically have a datetime field updated so the staleness of it can be used determined if the entity can be deleted. I figure GAE already got some kind of process identifier around (likely an entity in the datastore) as part of the infrastructure, so its just a matter of providing an API to access it (I don't care if its hashed if there some concern about security, but there shouldn't be since one app is never supposed to be able to get any data outside its domain). On Oct 8, 9:27 pm, pr3d4t0r <[EMAIL PROTECTED]> wrote: > On Oct 8, 6:03 pm, Josh Heitzman <[EMAIL PROTECTED]> wrote: > > > As os.getpid is not supported by GAE, is there another API that > > provides a unique (preferably across all of GAE) identifier for the > > process? I'd like to use this to identify if an incomplete update > > sequence (spanning entity groups, so no it can't be done in a > > transaction) was left hanging by the current process or another, as if > > it was the current it can be immediately restarted, where as if it is > > another, it'll have to wait a time period before continuing the > > sequence. > > Because of the distributed nature of App Engine, about the only way > you have of ensuring that something committed/finished to completion > is to use transactions and entities. You could create an entity group > that tracks your process(es) state and updates it as various stages > are completed. Remember that there is no guarantee that your process > will run on any given machine across subsequent calls. > > Cheers, > > pr3d4t0rhttp://www.istheserverup.comhttp://www.teslatestament.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~----------~----~----~----~------~----~------~--~---
