Like Jon McAlister said either use a random number or create a new
entity when one of your modules is loaded and treat that entity's key
as the globally unique process ID (i.e. MAC address + pid).  The later
solution only requires one put during any given processes lifetime so
it shouldn't be a perf problem.

On Nov 22, 6:38 pm, Andy Freeman <[EMAIL PROTECTED]> wrote:
> > Yes, I understand transactions and entity groups. Why do you need to
> > create an entity group *atomically*?
>
> For the same reason that transactions are useful - incomplete groups
> are wrong (in my application) and I'd rather not deal with them.
>
> > If you create a new entity, it will automatically be assigned a unique
> > key at the datastore level. What's wrong with just using that?
>
> Each db.put has significant overhead.  If I can generate a unique name
> without a db.put, I can reduce the number of db.puts that my
> application does by a factor of 2.
>
> On Nov 22, 5:07 pm, "David Symonds" <[EMAIL PROTECTED]> wrote:
>
> > On Sun, Nov 23, 2008 at 8:50 AM, Andy Freeman <[EMAIL PROTECTED]> wrote:
> > >> > Suppose that I want to atomically create an entity group with two
> > >> > nodes, one the parent of the other.
> > >> But *why* exactly do you want to do this?
>
> > > Because I want "a set of one or more entities that can be manipulated
> > > in a single transaction. Entity group relationships tell App Engine to
> > > store several entities in the same part of the distributed network. A
> > > transaction sets up datastore operations for an entity group, and all
> > > of the operations are applied as a group, or not at all if the
> > > transaction fails."
>
> > Yes, I understand transactions and entity groups. Why do you need to
> > create an entity group *atomically*?
>
> > > The fact that GAE uses many machines and concurrently is why the full
> > > hostname, IP, or MAC address or some other machine identifier is
> > > useful in creating a unique identifier on GAE.  (If my application
> > > always ran on the same machine, the process id and time would be
> > > sufficient.)
>
> > If you create a new entity, it will automatically be assigned a unique
> > key at the datastore level. What's wrong with just using that?
>
> > Dave.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to