非灵活环境应用程序的自定义运行时?

2024-01-23

我不认为我的 gae python 应用程序具有灵活的环境,因为我多年前创建了它。现在我想尝试创建一个具有不同于 python 的运行时的模块,并使 python 应用程序与新的运行时、自定义运行时或其他运行时一起运行。也许混合 PHP 和 python 或类似的。我不需要它,但我想学习和探索可能性。我也有兴趣学习 Erlang 并使用 appengine 部署 Erlang 代码。我看到已经有人对此有疑问了

谷歌应用程序引擎上的erlang? https://stackoverflow.com/questions/1654759/erlang-on-google-app-engine

And 追踪器中的第 125 期 https://code.google.com/p/googleappengine/issues/detail?id=125#makechanges.

但实际上我们应该怎样做呢?如果我们创建自己的运行时,前提是允许。

我的 app.yaml 看起来像

application: montaoproject
version: newsearch
runtime: python27
api_version: 1
threadsafe: true
module: default
instance_class: F1
automatic_scaling:
  min_idle_instances: 5
  max_idle_instances: automatic
  min_pending_latency: automatic
  max_pending_latency: 30ms
  max_concurrent_requests: 50

default_expiration: "14d 5h"

env_variables:
  GAE_USE_MONTAO : 'anyvalue'
  KOOL_VERSION : '17a'

includes:
- br.yaml # Brazil
- in.yaml # India
- us.yaml # USA
- pk.yaml
- search.yaml # search pages
- admin.yaml # admin pages
- providers.yaml # auth providers
- statics.yaml # static content

handlers:
- url: /(business|ai|newindia|insert-ad.html)
  script: montao.app

- url: /blobview.*
  script: kool_update.app
  login: admin

- url: /market.*
  script: main.app

- url: /
  script: montao.app

- url: /(index.html|sign-up.html|login.html)
  script: montao.app

- url: /(login.*|login|googlogin|googlogout|create/)
  script: login.app

- url: /(customer_service.htm|contactfileupload|support.html|faq.html)
  script: customer_service.app

- url: /stats.*
  script: google.appengine.ext.appstats.ui.app

# All other URLs use main.app
- url: /.*
  script: main.app

inbound_services:
- mail

builtins:
- remote_api: on
- deferred: on
#- appstats: on

error_handlers:
  - file: default_error.html

libraries:
- name: webapp2
  version: latest
- name: jinja2
  version: latest
- name: setuptools
  version: latest
- name: markupsafe
  version: latest
- name: django
  version: latest
- name: PIL
  version: latest
- name: webob
  version: latest
- name: lxml
  version: latest
- name: ssl
  version: latest

是的,你的app.yaml文件是一个标准的环境文件(它没有vm:true or env:flex in it).

是的,可以在同一应用程序内混合和匹配不同语言和不同环境的服务/模块。您甚至可以切换语言和环境same模块在不同的version该模块的。这是因为模块提供了完整的代码隔离,请参阅服务隔离与项目隔离对比 https://cloud.google.com/appengine/docs/standard/python/microservices-on-app-engine#comparison_of_service_isolation_and_project_isolation。相关帖子:立即将 Java 和 Node.js 项目上传到 Google AppEngine https://stackoverflow.com/questions/42413211/upload-a-java-and-node-js-project-to-google-appengine-at-once/42418452#42418452

我总是尝试构建一个多服务/模块应用程序,其中每个服务都位于其自己的子目录中,如中所述就文件夹结构而言,Google App Engine 应用程序中的默认服务/模块可以是非默认服务/模块的同级吗? https://stackoverflow.com/questions/34110178/can-a-default-service-module-in-a-google-app-engine-app-be-a-sibling-of-a-non-de/34111170#34111170

所以首先我会创建一个default您的应用程序目录的子目录并移动所有现有的default将特定于模块的文件放入其中,但应用程序级配置除外,我将其保留在顶层并在defaultdir 如该帖子中所述。然后我会验证default模块仍然按预期工作。

然后,我会为需要添加的每个新模块创建一个新的子目录,并根据需要为其添加代码。

边注:如上面提到的帖子中所述通过符号链接共享代码适用于标准环境模块,但它可能不适用于灵活的模块,请参阅在 GAE 项目中的模块之间共享代码 https://stackoverflow.com/questions/42464203/sharing-code-between-modules-in-a-gae-project/42465117#42465117

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

非灵活环境应用程序的自定义运行时? 的相关文章

  • 将字符转换为日期时间 odoo 9

    我有两个字符字段 从 odoo 中的 excel 或 csv 导入数据 time 1 fields Char string Time 1 time 2 fields Char string Time 2 result fields Floa
  • 语法错误可以处理吗?

    考虑以下代码 try if True a 1 It s missing a colon So it s a SyntaxError except SyntaxError print hey 你会期望它打印出来hey然而它提出了一个Synta
  • 使用 sympy 计算符号特征值

    我正在尝试计算符号复矩阵的特征值Mof size 3x3 在某些情况下 eigenvals 工作完美 例如 以下代码 import sympy as sp kx sp symbols kx x 0 M sp Matrix 0 0 0 0 0
  • 发布到 Chrome 网上应用店时出错

    我在将 Chrome 网上应用店中的演示项目 Google Apps Marketplace 应用程序 发布到我自己的域时遇到错误 我收到以下错误 其 ID 在清单的 api console project id 字段中指定的 API 控制
  • 使用 lxml 和 xpath 解析 xml 文件时如何保留 &

    我试图从输入 xml 文件中提取一些信息 并使用 lxml 和 xpath 指令将其打印到输出文件中 我在读取如下所示的 xml 标签时遇到问题
  • Python lmfit 在加权拟合后将卡方减小得太小

    我正在 Python 2 7 中运行 fitlmfit通过以下代码使用一些测试数据 我需要权重为1 y 使用 Leven Marq 例程 我已经定义了权重并在这里使用它们 from future import division from n
  • 用ast重写代码; Python

    我正在学习 AST 它看起来很强大 但我很困惑代码去了哪里以及为什么它消失了 说我想重写 example def fake x n y useless list n return x as example def fake x n retu
  • Django - 没有名为 _sqlite3 的模块

    我在 rhel 5 上安装了 django 1 4 默认情况下 rhel 5 中有 python 2 4 但要使用 django 1 4 我手动安装了 python 2 7 3 开发服务器运行良好 但是当我创建一个新项目并将 setting
  • 使用 Google App Engine 和 Django 将第三方库 (twilio) 添加到项目中

    每个人 我是这个领域的新手 我使用 django 框架使用 google 应用引擎开发 Web 应用程序 我有一个关于 python lib dir 问题的故障排除 导入错误 没有名为 的模块 我的 appengine config py
  • Google Cloud Platform App Engine 节点灵活实例 Ruby RAM 使用率为 50%

    有一个 ruby 进程始终处于 50 RAM 利用率 无论实例分配了多少 RAM 我在弹性环境中运行 Node 并使用一个简单的 Express 应用程序 该应用程序通过 Sequelize 连接到 Cloud SQL 实例 我尝试将 RA
  • ubuntu 12.10 上使用 https 和 python 2.7 时出现 urlopen 错误 [Errno 110]

    预先感谢您提供的任何帮助 我在 ubuntu 12 10 上安装了 python 2 7 我根据其他帖子编写了一个简单的脚本来测试 http 和 https 连接 import urllib2 urllib def set proxy pr
  • 如何在两个类之间共享数据

    Question 有没有一种方法可以让两个类同时相互继承 背景 我目前正在开发一个 Socket Server 项目 在这个项目中 我有两个课程 一个Server类 以及一个GUI班级 他们的目的是不言自明的 但是 我显然需要让两个班级相互
  • GoogleAppengineLauncher 登录失败

    我正在尝试部署我的 python AppEngine 项目 因此 正如我之前多次对其他项目所做的那样 我打开 GoogleAppengineLauncher 选择我的项目 单击部署 然后输入我的电子邮件和密码 然后我收到一条错误消息Fail
  • 获取ERLANG中的最长公共子序列

    我是这个 ERLANG 的新手 我了解基础知识 这就像计划 但范围更广 我知道如何创建一个函数 但在创建一个获取最长公共子序列的函数时遇到问题 lcs str1 str2 是一个接受两个字符串并输出一个整数的函数 lcs algorithm
  • python 2.7模块pandas未安装“无法导入名称哈希表”

    我尝试在论坛 谷歌上寻找这个问题的答案 但我找不到任何东西 我的问题是这样的 来自 python 控制台 gt gt gt import pandas cannot import name hashtable Traceback most
  • Redis - 错误:值不是有效的浮点数

    我在 Redis 中有一个排序集 我试图通过在Python代码中使用zincrby来更新特定元素的计数器值 例如 conn zincrby usersSet float 1 user1 但它显示错误为 错误 值不是有效的浮点数 我在 cli
  • Ubuntu Python shebang 线不工作

    无法让 shebang 线在 Ubuntu 中为 python 脚本工作 我每次只收到命令未找到错误 test py usr bin env python print Ran which python usr bin python 在 sh
  • NameError:名称“urllib”未定义”

    CODE import networkx as net from urllib request import urlopen def read lj friends g name fetch the friend list from Liv
  • 为 Anaconda Python 安装 psycopg2

    我有 Anaconda Python 3 4 但是每当我运行旧代码时 我都会通过输入 source activate python2 切换到 Anaconda Python 2 7 我的问题是我为 Anaconda Python 3 4 安
  • PyUSB 1.0:NotImplementedError:此平台不支持或未实现操作

    我刚刚开始使用 pyusb 基本上我正在玩示例代码here https github com walac pyusb blob master docs tutorial rst 我使用的是 Windows 7 64 位 并从以下地址下载 z

随机推荐

  • 如何仅翻转变换矩阵的一个轴?

    我有一个 4x4 变换矩阵 然而 在尝试转换后我注意到这个动作andY 轴的旋转方向相反 其余的都是正确的 我从其他一些 API 获得了这个矩阵 所以可能是坐标系的差异 那么 如何翻转变换矩阵的轴呢 如果只有平移 我可以在 Y 平移上添加减
  • 查找类以按名称实例化,无需命名空间或程序集? (。网)

    我想按名称 字符串 实例化一个类 而不指定命名空间或程序集 像这样 Unity语法 var processor container Resolve
  • HttpClient 与 HttpWebRequest

    我有一个大文件 我必须将其发送到 Web api 客户端 数据是多部分的 问题是 如果文件是通过 http Web 请求发送的 那么它会在 webapi 上快速上传 对于此请求 文件内容直接写入请求流 就好像通过 Httpclient ne
  • 绕过 Rsync 提示“您确定要继续连接吗”

    如何绕过这个问题或添加一个自动回答这个问题的标志 因为我正在尝试编写一个脚本 并且这个问题不断停止 rsync 的过程 因为在提示时无法在脚本中回答这个问题 Set the StrictHostKeyChecking选项no 在配置文件中或
  • OpenCV-Python 中的简单数字识别 OCR

    我正在尝试在 OpenCV Python cv2 中实现 数字识别 OCR 它仅用于学习目的 我想学习 OpenCV 中的 KNearest 和 SVM 功能 我有每个数字 100 个样本 即图像 我想和他们一起训练 有一个样本letter
  • 通过 Java 使用 Selenium Webdriver 缺少 size() 选项

    一直在参加一些课程来提高我使用 Selenium Webdriver 的自动化技能 我没有size 方法作为尝试计算页面内链接数量时的一个选项 我缺少一些罐子吗 导入库 java public static void main String
  • SVG 坐标系 - 点与像素

    阅读通过SVG 1 1 规范 http www w3 org TR SVG11 coords html 我试图理解用于定义初始视口的单位与文档其余部分使用的单位之间的关系 如果视口最初是使用点定义的
  • 我的 $Foo ATL 解决方案中的 ($Foo)PS 项目有何用途?

    在MSVC中创建一个ATL项目似乎创建的不是一个而是两个项目 后者的名称与前者相同 但名称后附加了 PS 第二个项目的目的是什么 我如何判断我是否需要它 COM 支持跨两个不同的线程 两个不同的进程或两台不同的机器进行接口方法调用 这就是所
  • 当前单元格展开时折叠其他 UITableViewCell

    我正在努力扩展我的UITableViewCell我可以扩展细胞 但我想崩溃UITableViewCell哪些没有被选中 我在代码中尝试的内容 var expandedCells Int IBOutlet weak var tableView
  • 基于视图和单元格的 NSTableView

    Cocoa 中基于单元格的表格视图和基于视图的表格视图之间的主要区别是什么 我的理解是基于单元格的表格视图基本上用于显示字符串 基于视图用于自定义单元格 诸如拖动行 选择等用户事件可以在基于视图中处理 基于单元格的表格视图使用 object
  • 如何完全禁用LogCat暂停?

    我对新的 LogCat 及其暂停功能有一个大问题 当我想从中读取一些较旧的条目时 我喜欢暂停输出的想法 但有时我希望输出不间断 这样我就可以触摸手机 并通过读取输出来查看它的反应 所以令我非常沮丧的是 LogCat 经常完全暂停 暂停按钮被
  • 在 div 上使用“display:table-cell”有缺点吗?

    我想要实现的是拥有一个固定宽度的第一个 div 和一个流动的第二个 div 它将填充父 div 宽度的其余宽度 div class clearfix div style width 100px some content div div so
  • hsc2hs:使用 Haskell 改变 C 结构

    我正在尝试编写一个与 C 通信的 Haskell 程序 最终通过 GHC iOS 用于 iOS 我希望它将一个字符串从 C 传递到 Haskell 让 Haskell 处理它 然后通过 hsc2s 将一些数据类型从 Haskell 返回到
  • 如何在 Mahout 0.9 中实现 SlopeOne 推荐器?

    我是 Mahout 新手 正在尝试使用 0 5 版本的 Mahout in Action 早期的例子之一要求使用斜率一推荐器 Mahout 0 9 中还包含此推荐器吗 我查看了文档 但找不到它 也许它已经改名了 感谢您的帮助 Mahout
  • 当表没有行时,将表的可见性设置为 false(在报告服务中)

    如果表没有行 有没有办法将表的可见性设置为 false 我想在 Reporting Services 中隐藏没有行的表 将 NoRows 设置为 在这种情况下是不够的 因为仍然为表格留有空间 并且表格的某些格式仍然可见 我正在使用 Micr
  • 在 Python 中 - 解析响应 xml 并查找特定文本值

    我是 python 新手 在使用 xml 和 python 时遇到特别困难 我遇到的情况是这样的 我正在尝试计算一个单词在 xml 文档中出现的次数 很简单 但是 xml 文档是来自服务器的响应 是否可以在不写入文件的情况下执行此操作 尝试
  • Ansible,将字典合并为一次

    我有这个示例 yaml 文件 haproxy yml rules aa PHP53 url php53 1 aa my example com PHP55 url php55 1 aa my example com PHP56 url ph
  • 根据请求参数有条件地使用中间件express

    我正在尝试根据请求查询参数决定要使用的中间件 在主模块中我有这样的东西 app use function req res if req query something pass req res to middleware a else pa
  • 使用 __getattr__ 和 __setattr__ 功能实现类似字典的对象

    我正在尝试实施一个dict类似对象 可以访问 修改 getattr and setattr 为了方便我的用户使用 该类还实现了一些其他简单的功能 Using 这个答案 https stackoverflow com questions 33
  • 非灵活环境应用程序的自定义运行时?

    我不认为我的 gae python 应用程序具有灵活的环境 因为我多年前创建了它 现在我想尝试创建一个具有不同于 python 的运行时的模块 并使 python 应用程序与新的运行时 自定义运行时或其他运行时一起运行 也许混合 PHP 和