我已经使用App Engine和Python几个月了.现在我的应用程序有相当数量的代码,我正在尝试解决迄今为止我忽略的问题:
每次关闭计算机时,都会删除所有开发数据存储区实体.
我想保留这些数据,直到下次启动我的开发服务器.但我也希望能够在不丢失所有这些数据的情况下关闭计算机.
我该怎么办?
非常感谢
========更新==========
当我设置datastore_path标志由@moishe解释,我的开发服务器,一旦崩溃,因为它必须写入到数据存储.
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/datastore_file_stub.py", line 557, in __WritePickled
os.rename(tmp_filename, filename)
OSError: [Errno 13] Permission denied
Run Code Online (Sandbox Code Playgroud)
因此,我给了这个文件夹所有的UNIX权限
chmod a+w /my_app_folder
Run Code Online (Sandbox Code Playgroud)
但我现在有另一个错误
OSError: [Errno 21] Is a directory
Run Code Online (Sandbox Code Playgroud)
显然路径不应该是目录.所以我改变了路径:
/my_app_folder/data.datastore
Run Code Online (Sandbox Code Playgroud)
现在它有效!PFF ...
我正在使用Google App Engine(Python)构建一个多用户实时应用程序,它看起来像Facebook livestream插件:https://developers.facebook.com/docs/reference/plugins/live-stream/
这意味着:同一网页上的1到1 000 000个用户可以执行立即通知其他人的操作.这就像群聊,但有很多人......
我的问题:
- App Engine 能够扩展到那种数字吗?
- 如果是的话,你会如何设计它?
- 如果不是,你的建议是什么?
现在,这是我的设计:
- 我正在使用App Engine Channel API
- 我将每个连接在memcache中的用户存储起来
- 每次执行操作时,都会向任务队列添加一个通知任务
- 任务包括检索所有用户来自memcache并向他们发送通知.
我知道我的瓶颈在于任务.通过相同的任务/请求通知每个人.目前,对于连接的30个用户,它持续约1秒,因此对于10万用户,您可以想象可以花多长时间.
你怎么纠正这个?
非常感谢
我正在使用Facebook Connect建立一个网站,因此使用Facebook Javascript SDK. 问题:使用Firefox时,登录或注销后页面无法正常重新加载.
FB.Event.subscribe(
'{% if current_user %}auth.logout{% else %}auth.login{% endif %}',
function(response){
window.location.reload();
});
Run Code Online (Sandbox Code Playgroud)
显然,它看起来像一个已知的问题(只需键入"窗口位置重新加载不在Firefox上工作",你会得到很多结果)
更确切地说,Firefox在重新加载页面时似乎没有发送正确的cookie ...
- 当我点击登录时,一旦Facebook登录并设置了cookie,Firefox就不会发送任何cookie
- 当我点击退出时一旦Facebook将我退出并删除了cookie,Firefox就会发送之前存在的cookie.
我总结它使用一些"缓存功能".
我尝试按照此处的描述制定解决方法并实现此目的:
redirect_url = encodeURIComponent(window.location.href);
url = window.location.href + "account/login?redirect_url=" + redirect_url;
window.location.replace(url);
Run Code Online (Sandbox Code Playgroud)
但问题仍然存在(我猜的缓存......)你可以帮我解决这个问题吗?
谢谢.
channel-api ×1
datastore ×1
firefox ×1
fixtures ×1
location ×1
multi-user ×1
real-time ×1
reload ×1
sdk ×1
window ×1