> And even with 3 entities of 3 different kinds you have to manualy > rollback it because a transaction works only with 1 kind.
Where is it documented that a transaction only works with one kind? The SDK is quite happy to do transactions involving db.Model instances of different kinds. On Apr 15, 7:47 am, Sylvain <[email protected]> wrote: > Maybe, but my app needs it. So I will not change it for that. > > And even with 3 entities of 3 different kinds you have to manualy > rollback it because a transaction works only with 1 kind. So If the > timeout happends on the second write, you have to manually rollback > the first put() and it can be very complicated if the number of > entites/kinds increases. > > Another thing, you can have a timeout on a a simple get_by_keyname, > fetch(50),... etc,... So the number of write is not the only/main > issue and a request can wait 30s so it should no be an issue. > > I understand that in order to remove timeout we have to change things > but an article that explain what to do and how could be very usefull. > > During the first "app chat" (long time ago), I've asked for it and it > seems the Google team agree with it. So > :)http://groups.google.com/group/google-appengine/browse_frm/thread/ced... > > Regards. > > On 15 avr, 16:00, 风笑雪 <[email protected]> wrote: > > > > > It's not recommend to write more than 20 entities in one request, and I > > don't think you will exceed it in a common request.The datastore has such > > a limitation of writing, you can't treat it as a relationship db. (In my > > test, it takes about 1 second to put 100 simple entities into db.) > > > However, sometimes we may meet this situation. > > My suggest is to limit the number of entities as possible, use > > "db.run_in_transaction" to keep entities correct and complete saved to db. > > If possible, AJAX calls can help you breaks a big transaction into several > > small transaction. > > And you can set how many times the transaction should try when operation > > fails, so you can give a failed message to user before timeout. > > > 2009/4/15 Sylvain <[email protected]> > > > > Hi, > > > > Currently, I think 0.5% of my Datastore operations result in a > > > datastore timeout. > > > I don't know why... It can be raised on very simple or very > > > complicated operation. > > > > For my app for example, the problem is that it can occur during a big > > > request where I need to create 50-100 entities of 3 different kinds. > > > So I need to manually rollback everything and it can be difficult. > > > > Having a "big" transaction could be a solution, but GAE it too limited > > > (only 1 kind,....). > > > > It seems that datastore timeout will always be there and we have to > > > manage them. So I think we need an article that explains how to handle > > > them properly with different scenarios. It will be very appreciated. > > > > Regards.- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
