我正在试验Google App Engine 的灵活 Python 3 环境和 Cloud Datastore。在本地测试时,这(通常)需要在 Gunicorn 之类的东西中运行您的应用程序并从gcloud.datastore
. 例如:
import gcloud.datastore as g_datastore
ds = g_datastore.Client(...)
entity = datastore.Entity(key=ds.key(...))
ds.put(entity)
在本地运行时(在开发模式下),实体的状态在运行之间保持不变。我一生都无法弄清楚它们的存储位置或如何清除创建/访问后创建的开发数据存储gcloud.datastore.Client
。据我所知,它不使用ndb
通过运行时使用的相同位置dev_appserver.py
。
我试图用这样的东西来解决这个问题(在运行 OS X 时):
$ touch foo
$ GCLOUD_PROJECT=... python .../main.py
* Running on http://127.0.0.1:8080/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger pin code: ...
127.0.0.1 - - [04/Jul/2016 10:36:01] "GET / HTTP/1.1" 200 -
...
^C
$ sudo find /private/tmp /var/db /var/tmp ~/.config/gcloud ~/Library -newer foo
...
# nothing meaningful
我尝试查看源代码,发现一些单元测试清理代码: a) 不是随pip install gcloud
; 并且(对我来说更重要)b)没有提供任何关于这些东西实际存储位置的线索。
我什至在 Gunicorn 运行时尝试过这个:
$ sudo lsof | grep -Ei 'python'
# nothing meaningful
gcloud.datastore
本地运行时(在开发模式下), foo在运行之间存储其状态的位置?!