SAE Python development server
Project description
SAE Python development server - experimental
All Rights Reserved 2011
SAE Python Team
目前支持的服务包括:mysql, taskqueue, memcache, storage, mail。
大部分的服务直接运行dev_server.py进行调试就可以了,部分服务需要做一些配置。
注意: 本工具仅为应用开发便利之用,对sae python环境的模拟并不完整。
Install
--------------
sudo python setup.py install
基本使用
------------
使用svn检出app代码之后,建立以数字为标识的发布目录,切换到发布目录:
$ pwd
/home/jaime/source/blackfire/1
编辑index.wsgi和config.yaml:
$ vi index.wsgi
import sae
def app(environ, start_response):
status = '200 OK'
response_headers = [('Content-type', 'text/plain')]
start_response(status, response_headers)
return ['Hello, world! reloading test3']
application = sae.create_wsgi_app(app)
$ vi config.yaml
---
name: blackfire
version: 1
...
运行dev_server.py:
$ dev_server.py
MySQL config not found: app.py
Start development server on http://localhost:8080/
访问 http://localhost:8080 端口就可以看到Hello, world!了。
使用MySQL服务
----------------
配置好MySQL本地开发server,使用 `--mysql` 参数运行dev_server.py。
$ dev_server.py --mysql=user:password@host:port
现在你可以在应用代码中像在SAE线上环境一样使用MySQL服务了。dev_server.py默认使用
名为 `app_应用名` 的数据库。
使用storage服务
---------------
使用 `--storage-path` 参数运行dev_server.py。
$ dev_server.py --storage-path=/path/to/local/storage/data
本地的storage服务使用以下的目录结构来模拟线上的storage。
storage-path/
domain1/
key1
key2
domain2/
domain3/
--storage-path配置的路径下每个子文件夹会映射为storage中的一个domain,而每个子文
件夹下的文件映射为domain下的一个key,其内容为对应key的数据。
.. note:
为方便调试,dev_server自带的sae.storage在某个domain不存在的情况下会自动创建
该domain。线上环境中的domain需要在sae后台面板中手动创建。
使用pylibmc
--------------
dev_server自带了一个dummy pylibmc,所以无须安装pylibmc就可以直接使用memcache服务
了。该模块将所有的数据存贮在内存中,dev_server.py进程结束时,所有的数据都会丢失
。
使用kvdb
----------------
kvdb默认数据存在内存中,dev_server.py进程结束时,数据会全部丢失,如果需要保存数据,
请使用如下命令行启动dev_server.py
$ dev_server.py --kvdb-file=/path/to/kvdb/local/file
All Rights Reserved 2011
SAE Python Team
目前支持的服务包括:mysql, taskqueue, memcache, storage, mail。
大部分的服务直接运行dev_server.py进行调试就可以了,部分服务需要做一些配置。
注意: 本工具仅为应用开发便利之用,对sae python环境的模拟并不完整。
Install
--------------
sudo python setup.py install
基本使用
------------
使用svn检出app代码之后,建立以数字为标识的发布目录,切换到发布目录:
$ pwd
/home/jaime/source/blackfire/1
编辑index.wsgi和config.yaml:
$ vi index.wsgi
import sae
def app(environ, start_response):
status = '200 OK'
response_headers = [('Content-type', 'text/plain')]
start_response(status, response_headers)
return ['Hello, world! reloading test3']
application = sae.create_wsgi_app(app)
$ vi config.yaml
---
name: blackfire
version: 1
...
运行dev_server.py:
$ dev_server.py
MySQL config not found: app.py
Start development server on http://localhost:8080/
访问 http://localhost:8080 端口就可以看到Hello, world!了。
使用MySQL服务
----------------
配置好MySQL本地开发server,使用 `--mysql` 参数运行dev_server.py。
$ dev_server.py --mysql=user:password@host:port
现在你可以在应用代码中像在SAE线上环境一样使用MySQL服务了。dev_server.py默认使用
名为 `app_应用名` 的数据库。
使用storage服务
---------------
使用 `--storage-path` 参数运行dev_server.py。
$ dev_server.py --storage-path=/path/to/local/storage/data
本地的storage服务使用以下的目录结构来模拟线上的storage。
storage-path/
domain1/
key1
key2
domain2/
domain3/
--storage-path配置的路径下每个子文件夹会映射为storage中的一个domain,而每个子文
件夹下的文件映射为domain下的一个key,其内容为对应key的数据。
.. note:
为方便调试,dev_server自带的sae.storage在某个domain不存在的情况下会自动创建
该domain。线上环境中的domain需要在sae后台面板中手动创建。
使用pylibmc
--------------
dev_server自带了一个dummy pylibmc,所以无须安装pylibmc就可以直接使用memcache服务
了。该模块将所有的数据存贮在内存中,dev_server.py进程结束时,所有的数据都会丢失
。
使用kvdb
----------------
kvdb默认数据存在内存中,dev_server.py进程结束时,数据会全部丢失,如果需要保存数据,
请使用如下命令行启动dev_server.py
$ dev_server.py --kvdb-file=/path/to/kvdb/local/file
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
sae-python-dev-1.1.0.tar.gz
(28.6 kB
view hashes)