SAE Tornado Worker 的一点使用经历

首先,SAE的python web框架使用的文档在这里:入门指南

使用打tornado版本是3.1。文档里也有提到,Torando的Worker还不稳定,需要谨慎使用。

问题:

首先申明:懒人,只是在本地测试的时候发现这个问题了,线上测试没有进行过,估计也会有。

在使用过程中,发现其他各个方面都还好,但是如果使用Tornado的sattic_path配置,在本地测试过程中,总会出现static path 中的文件无法访问的问题,浏览器报错误 403, forbiden了,说是权限问题。

原因

估计是因为SAE自动的会将 /static 目录作为静态文件打目录,文档里有提过这事情。然后tornado也会处理这个目录,冲突了。

解决方案

原因也是个人的一些猜测,懒,没测试,但本地曾经简单修改tornado的web.py代码解决掉这个问题。

测试发现,其实出错的主要原因,在于web.py会将 /static/yourfile.css分割开,分成了root部分./static和path部分yourfile.css。但是如果加上sae,后面一半path会变成 /yourfile.css

解决:在tornado的web.py中,修改函数get_absolute_path,改成:

def get_absolute_path(cls, root, path):
    if path.startswith("/"): path = path[1:]   # !! 添加这句
    abspath = os.path.abspath(os.path.join(root, path))
    return abspath

但毕竟没办法修改SAE预装打代码,也就是在本地能用着,所以:

  1. 很简单,放弃使用tornado的模板引擎,改用其他的模板引擎,如jinja2, pytenjin 什么的,一堆一堆的。
  2. 哈哈,不用worker喽,老老实实用wsgi。
时间: 2024-09-28 19:08:25

SAE Tornado Worker 的一点使用经历的相关文章

myeclipse里如何添加mysql数据库

首先声明,这只是我本人的一些经验,不代表任何集体和个人的利益,请勿没事就当喷子来喷我.我希望对一些对这方面学习的朋友有帮助,当然,我自己也是菜鸟级别啦!!!!!!!!!!!! 首先是电脑必要安装了myeclipse和mysql,具体安装布置不详细说了. 进入正题: 首先在windows下登录mysql 先打开DOS窗口导航 启动mysql服务 找到mysql安装程序的bin目录 输入mysql -u root –p回车,看见Enter password 也直接回车 这连接之前我强烈推荐先给数据库

LAMP总

第一部分 1. 安装mysqlcd /usr/local/src/ 免安装编译二进制的包wget http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz tar zxvf /usr/local/src/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz 解压 mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/lo

在VMware上安装Ubuntu软件步骤与遇到的相关问题及解决方案

图解演示环境版本: 本机系统: WIN10 虚拟机:VMware Workstation 12(中文版) 安装目标:Ubuntu Desktop 12.04 LTS  (请点击这里)先下载好iso镜像文件(ubuntukylin-15.04-desktop-amd64,为了方便我自己以后查找,在此记录镜像位置(E:\ubuntu64_6686.com) 详细过程图解: 0. 初始画面,点击"Create a New Virtual Machine"(左上Ubuntu为本人已有开发环境机

第一部分安装mysql -apache -php

1. 安装mysqlcd /usr/local/src/ 免安装编译二进制的包wget http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz tar zxvf /usr/local/src/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz 解压 mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/local/m

虚拟机配置安装Ubuntu系统并配置安装Xshell

安装前的准备: 1.下载最新版本的Ubuntuiso镜像,我这里是下载的12.04的长期支持(LTS)版本,可以支持较长时间,而不用更新. 这里我给一个下载链接:http://www.ubuntu.com/download/desktop/zh-CN 2.对pc机性能的要求,内存一般要求在2G以上,现在几乎所有的PC机都能达到哦! 3.在这里我不是在PC机上装的双系统(windows与linux两边切换麻烦),所以这里我借用了VMwareWrokstation8版本的虚拟机:需要指出的是VMwa

论触摸板是比鼠标更先进的输入方式

大约半年之前,我一直在用鼠标.后来因为手指疼,以及经常需要在鼠标和键盘之间切换,所以逐渐开始尝试使用触摸板代替鼠标.现在我已经完全不再用鼠标,而是全部用触摸板+键盘工作.在这个过程中,我体会到,在绝大部分情况下,触摸板都比鼠标便捷,至少不比鼠标差.因此用这篇文章和大家分享一下这个过程中的体会. 触摸板的输入方式 首先介绍一下我用的笔记本电脑上触摸板的输入方式.一个是Thinkpad E330,它的触摸板前方有三个键,大致分别对应于鼠标的左右键和滚轮,而触摸板本身也可以按下去,相当于单击左键.另外

Gradient-based learning applied to document recognition(转载)

Deep learning:三十八(Stacked CNN简单介绍) 前言: 本节主要是来简单介绍下stacked CNN(深度卷积网络),起源于本人在构建SAE网络时的一点困惑:见Deep learning:三十六(关于构建深度卷积SAE网络的一点困惑).因为有时候针对大图片进行recognition时,需要用到无监督学习的方法去pre-training(预训练)stacked CNN的每层网络,然后用BP算法对整个网络进行fine-tuning(微调),并且上一层的输出作为下一层的输入.这几

用VMware 8安装Ubuntu 12.04详细过程(图解)

图解演示环境版本: 本机系统: WIN7 虚拟机:VMware Workstation 8 (英文版) 安装目标:Ubuntu Desktop 12.04 LTS  (请点击这里)先下载好iso镜像文件 详细过程图解: 0. 初始画面,点击"Create a New Virtual Machine"(左上Ubuntu为本人已有开发环境机,请忽略) 1. 点击"Custom(自定义)" 2. 无需选择,直接Next(上面是选Workstation版本的兼容性的,这里默

Deep learning:三十八(Stacked CNN简单介绍)

http://www.cnblogs.com/tornadomeet/archive/2013/05/05/3061457.html 前言: 本节主要是来简单介绍下stacked CNN(深度卷积网络),起源于本人在构建SAE网络时的一点困惑:见Deep learning:三十六(关于构建深度卷积SAE网络的一点困惑).因为有时候针对大图片进行recognition时,需要用到无监督学习的方法去pre-training(预训练)stacked CNN的每层网络,然后用BP算法对整个网络进行fin