BAE开发过程遇到的问题。
教训:当用别人的框架或者平台的时候,当遇到什么问题的时候,一定首先去参考阅读,官方文档。
而不是到互联网上海搜一番。 其次,遇到问题,要冷静,理清楚,在纸上写出来可能会出问题的点。
一个个排查。 切忌,不要烦躁,烦躁没用的。一旦 烦躁的时候就要出去走走了喔,散散心,不要傻傻的呆在电脑前死磕~
1:BAE连接mysql
整体思路简单,就是要获得 host,ip,user,pwd,这几个参数,然后调用内置的函数连接就好了。就是4,5行代码就能解决的事情。
出现的问题:网上很多帖子已经过时了,还是通过调用几个固定的函数-》得到返回值
可是BAE已经从2.0升级为3.0了,这几个参数都是通过查看控制台,直接显示的写值就好了。
然后,就可以使用传统的sql语句,对云数据库进行操作了。
2:BAE的特性
BAE3.0 支持php,java,python这些语言,部署项目越来越简单。只需要申请账号后,到控制台,添加部署即可。而且通过扩展服务,可以申请免费的1G共享型数据库
我这次课题涉及到的项目类型有两个:PHP-Web,Python-worker
部署PHP-web:
通过部署后,参照上一篇文章的方法,上传代码后,可以通过那个连接直接在浏览器中进行测试
而且,还有后台日志,可以在线发现错误。如果,有功能需要修改,只需要在本地调试好后,再次上传代码即可。
部署Python-worker:
最适合像网络爬虫类的项目了
1:通过添加部署后,通过SVN把 代码签出到本地来。然后只需要编辑 main.py文件即可,其他的如,su***的配置文件等都不用改
2:还要建立一个 requirements.txt,当需要用到什么包的时候,在这个文件里注明即可。如MySQLdb模块,就只需要写上 MySQL-python ,当运行程序的时候,就会自动下载该包。
3:可以在线,点击项目名,查看后台日志和输出。就可看到我们的worker运行的状况啦。
4:在上传代码,快捷发布的时候,不要因为心急,老是去刷新,这样会出现 发布失败 的情况。。。(我今天就吃了这个苦。纠结了老半天)。要静下心,静静等待它自己发布。
总结:
a:使用别人的平台和框架,遇到问题要第一时间查看官方文档。
b:遇到问题,冷静,把可能出现问题的点罗列出,一个个排查。 不要烦躁,不要烦躁,不要烦躁。心烦的时候出去散心,每次bug,不都是散完心后,静下心来就找出来了么。嘿嘿嘿。生活才是最重要。
c:测试的时候,要把功能由简到繁得进行测试。这样才能找到出现问题的代码。(如:今天,就是通过 由简到繁得去调试,发现问题:因为 python的多行注释的符号没有除去)
d:常常出现问题的点,或许就只是一个小错误而已,要折腾半天。
出现的问题:
1:要新建一个文档,命名为requirements.txt,把它跟main.py放在同一个文件夹下
2:后台报错:no module named MySQLdb ->只需要requirements.txt,写上一句:MySQL-python。
3:python-worker类型的服务,只需要修改 main.py,新建一个requirements.txt,做这两步就好了。(昨天,还去折腾 su**和a**,这两个配置文件。。。这两个配置文件,是在要实现些高级功能的时候才需要配置的)
4:快捷发布后,不要刷新页面,静静等待它发布。恢复 正常
5:把要做的事情写在纸上,一步步去完成。
6:申请账号,实名认证.不要怕麻烦啊
7:嘿嘿,终于比较熟练地能在BAE上部署我自己的web和worker类型的项目了。