App Engine Local Storage Content Not Saved

I am running a basic test code with web.py and GAE (Windows 7, Python27). The form allows you to send messages to the data warehouse. When I stop the application and start it again, all the data published earlier has disappeared. Adding objects manually using the administrator (http: // localhost: 8080 / _ah / admin / datastore) has the same problem.

I tried to set the path in the application settings using additional flags:

--datastore_path=D:/path/to/app/ 

(Not sure about the syntax there). It had no effect. I searched my computer for * .datastore and could not find any files that seemed to be suspicious, although the data was obviously stored somewhere throughout the application.

 from google.appengine.ext import db import web urls = ( '/', 'index', '/note', 'note', '/crash', 'crash' ) render = web.template.render('templates/') class Note(db.Model): content = db.StringProperty(multiline=True) date = db.DateTimeProperty(auto_now_add=True) class index: def GET(self): notes = db.GqlQuery("SELECT * FROM Note ORDER BY date DESC LIMIT 10") return render.index(notes) class note: def POST(self): i = web.input('content') note = Note() note.content = i.content note.put() return web.seeother('/') class crash: def GET(self): import logging logging.error('test') crash app = web.application(urls, globals()) def main(): app.cgirun() if __name__ == '__main__': main() 

UPDATE: When I run it through the command line, I get the following:

 WARNING 2012-04-06 19:07:31,266 rdbms_mysqldb.py:74] The rdbms API is not available because the MySQLdb library could not be loaded. INFO 2012-04-06 19:07:31,778 appengine_rpc.py:160] Server: appengine.google.com WARNING 2012-04-06 19:07:31,783 datastore_file_stub.py:513] Could not read datastore data from c:\users\amy\appdata\local\temp\dev_appserver.datastore WARNING 2012-04-06 19:07:31,851 dev_appserver.py:3394] Could not initialize images API; you are likely missing the Python "PIL" module. ImportError: No module named _imaging INFO 2012-04-06 19:07:32,052 dev_appserver_multiprocess.py:647] Running application dev~palimpsest01 on port 8080: http://localhost:8080 INFO 2012-04-06 19:07:32,052 dev_appserver_multiprocess.py:649] Admin console is available at: http://localhost:8080/_ah/admin 

Assuming data warehouse ... is not installed correctly?

+8
google-app-engine persistence google-cloud-datastore
source share
1 answer

Starting with version 1.6.4, we stopped saving the data store after each record. This method did not work when modeling the transactional model found in a highly replicated data warehouse (you would lose the last pair of records). It is also terribly inefficient. We changed it so that the data store data store cleans up all records and retains state when turned off. It seems that dev_appserver is not closing correctly. You should see:

Apply all pending transactions and save data warehouse

in the logs when the server is turned off (see source code and source code ). If you do not, this means that dev_appserver does not shut down cleanly (with a TERM or KeyInterrupt signal).

+7
source share

All Articles