I’ve added ads to the demo site. I’ve gotten a total of 2 donations over the time that I’ve released the source, and currently not even putting a lot of time in the project. I have ideas for how I can improve the libraries, which will include a major rewrite. As I’m not working on appengine these days, I have little inclination to take up that project, so I’m curious if there’s enough traffic to generate revenue from advertising to keep me interested in supporting a project I have little use for at this time.
Well, it’s been a while since a release. Google’s taken the ROTModel functionality and added it directly into the datastore api. That will be deprecated. Most of the rest of the changes are to Session as usual.
- If you store an entity in the session, it’s serialized with protocol buffers allowing it to continue to function as an actual datastore entity across requests.
- Lots of bug fixes and optimizations. Session access is done by key, and the overhead caused by random base sid generation is gone as a result.
- Various documentation fixes contributed by e2jk
Gaeutilities 1.3 release adds has several changes since 1.2.2, and a couple minor changes since 1.3rc1.
ROTModel has been upgraded to do retries on both reads and writes. This is useful for those datastore operations the must succeed for the http request to be successful.
Sessions now takes advantage of the ROTModel for read, but has it’s own memcache writer for puts. If a datastore put fails, it will still store and read the data from memcache. It will also try the write operation on the next request, in order to get the database back in sync. This should allow for session operation, even when the datastore is in a read only mode. However if memcache is also read only, you will experience problems.
Cache has been modified, it will not raise an exception if the datastore put fails, it will just continue and your cache item will exist only in memcache.