Skip to main content

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

Project details


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.3.6.tar.gz (93.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page