我在我的python项目中使用App Engine模块.(https://developers.google.com/appengine/docs/python/modules/#Python_Background_threads)
我也在m项目中使用频道:https://developers.google.com/appengine/docs/python/channel/
我想将连接/断开的帖子消息('/ _ah/channel/connected /','/ _ah/channel/disconnected /')指向我的api模块.现在我无法让它们显示在任何模块中(默认或api)
的app.yaml
api_version: 1
application: integrate
version: 1-0-0
runtime: python27
threadsafe: true
builtins:
- deferred: on
libraries:
- name: pycrypto
version: "2.6"
handlers:
- url: /favicon\.ico
static_files: static/favicon.ico
upload: static/favicon\.ico
- url: /admin/.+
script: src.default.main.app
login: admin
- url: /.*
script: src.default.main.app
Run Code Online (Sandbox Code Playgroud)
api.yaml
api_version: 1
application: integrate
module: api
version: 1-0-0
runtime: python27
threadsafe: true
inbound_services:
- channel_presence
builtins:
- deferred: on
libraries:
- name: pycrypto
version: "2.6" …Run Code Online (Sandbox Code Playgroud) 问题
使用Go Blobstore API上载文件时,成功路径会重定向到错误的appengine模块.这是对问题的更直观的描述:
http://A.my-appengine-app.com/uploadhttp://A.my-appengine-app.com/upload/session/upload/session运行以下Go代码的处理程序:url, err := blobstore.UploadURL(c, "/upload/success")http://A.my-appengine-app.com/_ah/upload/[some long hash]/actiona中<form>.POST向URL 提交多部分请求/upload/success这是事情变得奇怪的地方.在开发中,服务器重定向到模块A中的 "/ upload/success" .在生产中,服务器重定向到主模块,我们可以称之为乙现在.我可以告诉这种情况正在发生,因为我404在我的Web控制台中获得了一个日志表明正在向模块B发出请求.我甚至已经明确地将主机名作为成功路径的一部分传递(步骤#3),但是没有效果.
当前解决方案(不理想)
似乎我唯一的办法是在模块B中定义一个处理程序来处理请求,就像模块A那样.由于goapp架构将所有模块组合在一起,这不是世界上最差的权衡,但鉴于模块应该是垂直独立的,它在语义上是错误的.如果有人知道如何解决这个问题,我将不得不承担责任.现在,我将采取上述方法.
google-app-engine go blobstore app-engine-modules gae-module
我已经在cloud.google.com上建议使用带有Maven的Eclipse编写GAE应用程序.最近,我需要使用"后端"或一组不同的实例来处理某项任务.我发现"后端"已经被弃用,而不是"模块".我花了最近几天尝试设置项目以使用模块,并且几乎没有取得任何进展.
我想要做的就是将不同的URL分派到不同的实例集(使用modules和dispatch.xml).有谁知道我如何转换我现有的Eclipse项目来做到这一点?我甚至愿意做一个新项目.
我需要我的模块:1)使用原始应用程序中的共享源代码/类2)拥有不同数量的常驻实例3)尊重dispatch.xml中的规则
我希望我的项目在eclipse中运行并使用gradle或maven.
问题描述
我正在尝试为Google App Engine创建一个自定义托管VM,其行为与Google提供的标准python27托管VM完全相同.(我这样做是将C++库添加到运行时的第一步).
从谷歌文档,以下Dockerfile指定标准的python27运行时:
FROM gcr.io/google_appengine/python-compat
ADD . /app
Run Code Online (Sandbox Code Playgroud)
我通过检查gcloud preview app run使用标准python27运行时生成的那个来验证这是正确的Dockerfile .它与此完全相同.
但是,当我使用dev_appserver.py或使用此Dockerfile运行我的应用程序时,gcloud preview app run我收到错误消息:
The --custom_entrypoint flag must be set for custom runtimes
Run Code Online (Sandbox Code Playgroud)
我使用的是最新版本的gcloud(1.9.86,app-engine-python组件版本1.9.28)和独立的python app引擎SDK(1.9.28).我在早期版本中遇到了同样的问题,所以我更新到了最新版本.
我做过的事:
gcloud preview app run --help有以下说法--custom-entrypoint:
--custom-entrypoint CUSTOM_ENTRYPOINT
Specify an entrypoint for custom runtime modules. This is required when
such modules are present. Include "{port}" in the string (without
quotes) to pass the port number in as an argument. …Run Code Online (Sandbox Code Playgroud) python google-app-engine gae-module google-app-engine-python google-managed-vm
我有一个数据处理模块作为我的GAE应用程序的一部分.TensorFlow为Linux和OSX提供了单独的安装程序,这表明它可能无法与GAE沙箱很好地配合使用.是否可以在GAE模块中使用TensorFlow?
google-app-engine google-cloud-platform gae-module tensorflow
我使用Eclipse 3.5与GAE SDK 1.3.7和GWT SDK 2.1.0和Restlet 2.0.3.当我运行我的应用程序时,控制台日志显示:
Loading modules
com.androidstartup.serialization.KPadProject
[ERROR] Unable to find 'com/androidstartup/serialization/KPadProject.gwt.xml' on your classpath; could be a typo, or maybe you forgot to include a classpath entry for source?
[ERROR] shell failed in doSlowStartup method
Run Code Online (Sandbox Code Playgroud)
主模块/KPadProject.gwt.xml位于根包中.我检查了配置,我认为没问题.
此时我不知道如何解决这个问题.
我有一个应用程序分为 5 个模块(参见我美丽的 ascii 艺术)每个模块都有自己的目录,就像这个结构一样
AppEngine App <--Here's the dispatch.yaml
---------------------
| | | | |
| | | | |
Mod1 Mod2 Mod3 Mod4 Mod5
^ ^
\__Here's the models |__ Here i wanna read the models
.py file
with the __init__.py
Run Code Online (Sandbox Code Playgroud)
NDB 模型在一个模块中定义(例如 mod1),我想读取 Mod5 中的一些数据,官方文档说这是可能的,但我做不到。我以这种方式导入模型
#this is in mod5 py file
import Mod1.models # No module named Mod1.models
from Path.Mod1 import models #No module named Path.Mod1
from Mod1 import models #No module named Mod1
from …Run Code Online (Sandbox Code Playgroud) python google-app-engine app-engine-ndb google-cloud-datastore gae-module
我正在尝试从自定义文件夹(google_appengine文件夹内)导入名为"google"的模块.
import sys
sys.path.append("/home/sashko/WebProgramming/google_appengine")
import google.appengine.api
Run Code Online (Sandbox Code Playgroud)
但是在sys.path中已经有一个名为"google"的模块:
import google
print google.__path__
['/usr/lib/python2.7/dist-packages/google']
Run Code Online (Sandbox Code Playgroud)
它从自定义文件夹中隐藏模块"google".在这种情况下你会建议什么?
我在谷歌应用程序引擎中处理一些基本的python内容,我无法弄清楚构造我的处理程序的正确方法.
AccountHandler基本上是一个类
class AccountHandler(webapp.RequestHandler):
Run Code Online (Sandbox Code Playgroud)
当我从project.handlers使用导入AccountHandler时,python总是给我一个
TypeError:'module'对象不可调用
我如何命名/导入/构建我的类?
欢呼,马丁
gae-module ×9
module ×4
python ×4
blobstore ×1
channel-api ×1
ear ×1
eclipse ×1
go ×1
gwt ×1
maven ×1
path ×1
python-2.7 ×1
restlet ×1
tensorflow ×1