问题标签 [app-engine-flexible]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
287 浏览

python - 将模型放入 ctypes 库的回调函数中

我正在尝试使用托管 VM 功能基于 Google App Engine 设置应用程序。

我正在使用使用 ctypes 用 C++ 编写的共享库

它注册了一个回调函数

我想将数据保存到 ndb 数据存储区

我正在注册一个回调函数,我想在其中从 C++ 程序中获取数据并将其放入 ndb 数据存储区。这会导致错误。在开发服务器上,它的行为略有不同,因此在生产服务器上:

suspended generator _put_tasklet(context.py:343) raised BadRequestError(Application Id (app) format is invalid: '_')LOG 2 1429698464071045 suspended generator put(context.py:810) raised BadRequestError(Application Id (app) format is invalid: '_') Traceback (most recent call last): File "_ctypes/callbacks.c", line 314, in 'calling callback function' File "/home/vmagent/app/isw_cloud_client.py", line 343, in scrptCallbackHandler node.put() File "/home/vmagent/python_vm_runtime/google/appengine/ext/ndb/model.py", line 3380, in _put return self._put_async(**ctx_options).get_result() File "/home/vmagent/python_vm_runtime/google/appengine/ext/ndb/tasklets.py", line 325, in get_result self.check_success() File "/home/vmagent/python_vm_runtime/google/appengine/ext/ndb/tasklets.py", line 368, in _help_tasklet_along value = gen.throw(exc.__class__, exc, tb) File "/home/vmagent/python_vm_runtime/google/appengine/ext/ndb/context.py", line 810, in put key = yield self._put_batcher.add(entity, options) File "/home/vmagent/python_vm_runtime/google/appengine/ext/ndb/tasklets.py", line 368, in _help_tasklet_along value = gen.throw(exc.__class__, exc, tb) File "/home/vmagent/python_vm_runtime/google/appengine/ext/ndb/context.py", line 343, in _put_tasklet keys = yield self._conn.async_put(options, datastore_entities) File "/home/vmagent/python_vm_runtime/google/appengine/ext/ndb/tasklets.py", line 454, in _on_rpc_completion result = rpc.get_result() File "/home/vmagent/python_vm_runtime/google/appengine/api/apiproxy_stub_map.py", line 613, in get_result return self.__get_result_hook(self) File "/home/vmagent/python_vm_runtime/google/appengine/datastore/datastore_rpc.py", line 1827, in __put_hook self.check_rpc_success(rpc) File "/home/vmagent/python_vm_runtime/google/appengine/datastore/datastore_rpc.py", line 1342, in check_rpc_success raise _ToDatastoreError(err)google.appengine.api.datastore_errors.BadRequestError: Application Id (app) format is invalid: '_'

C++ 程序的启动由对请求处理程序的调用触发,但在后台运行并接受应在回调中处理的传入数据。

更新:正如蒂姆已经指出的那样,wsgi 处理程序的上下文似乎丢失了。这里的解决方案很可能是以某种方式创建应用程序上下文。

0 投票
3 回答
1256 浏览

google-app-engine - GAE app.yaml:如何设置包含句点的环境变量?

我正在使用 app.yaml 检查 GAE 托管虚拟机,如此处所述https://cloud.google.com/appengine/docs/managed-vms/java/configuring-your-app-with-app-yaml

当我做

我得到异常

有没有办法logging.properties通过 app.yaml 指定自定义?

0 投票
2 回答
1215 浏览

google-app-engine - 由于超时,部署 AppEngine 版本失败

我正在尝试部署到 Google AppEngine。(更准确地说:托管虚拟机。)

早些时候,我尝试在 Windows 中使用云端构建的 Docker 执行此操作,但失败了(请参阅StackOverflow 问题);所以现在我在 Linux 上尝试了,Docker 在本地构建。

这也失败了,但原因不同。它在各种 Linux 开发机器上始终失败。当我们从 Google Cloud 中的 Linux VM 运行相同的命令时,它会成功。

我能做些什么来部署它?

Linux 控制台输出

本地日志文件的相关部分(比终端说的不多)。

0 投票
2 回答
725 浏览

google-app-engine - 部署到托管 VM 时是否可以指定机器类型(例如小型/微型)?

我正在将一些简单的网络应用程序(基于节点的静态页面以及一些调查问卷和少量后端处理)迁移到 App Engine。我让他们运作良好。对它的简单印象深刻!

然而,我有几个问题让我感到困惑。

1)为什么GCE总是部署2台机器?有没有办法指定只运行 1?我真的不需要大量冗余,而且我们的流量预计会很轻。

2)我试图将 app.yaml 中的机器类型指定为“微型”。叫我便宜,但我们真的不需要太多容量。我尝试了各种参数,例如

但它似乎总是部署“小型”机器。某处是否有日志告诉我该命令有效,但它选择忽略它?

提前致谢。

0 投票
1 回答
44 浏览

google-cloud-datastore - 托管 VM JDO 数据存储

我正在尝试将 AppEngine 项目迁移到 MVM、自定义运行时环境。

我遇到了 Memcache 的问题,通过替换解决了这个问题:

和:

(顺便说一句,如果有人遇到同样的问题,那么 XMemcached 的 maven 就是:)

我现在面临 DataStore JDO 和 PersistenceManager 的问题(在项目中使用 DataNucleus)。

基本上,我正在寻找替换它:

和 ?...

是否有任何“神奇”环境变量可以用于构成地址(例如 MEMCACHE_PORT_11211_TCP_ADDR 和 MEMCACHE_PORT_11211_TCP_PORT 是 Memcache 的情况)?我可以与(来自 MVM 项目)通信数据源的任何其他方式?

提前致谢,

奥哈德

0 投票
1 回答
428 浏览

google-app-engine - Cron url 在柔性环境中获得 403 状态

我们正在试验灵活的环境,我们想要迁移现有的应用程序。除了 cron 条目外,一切似乎都很顺利。

我们有一堆 cron 并且每个 url 都以管理员身份保护”(如文档中所述),但是每次 cron 服务点击 url 时,如果用户通过浏览器点击 url,我们就会得到 403 状态效果很好。

在标准环境下,一切都很好。

有什么我们可以检查的吗?

0 投票
2 回答
1588 浏览

python - 使用 Python-compact 在 GAE 柔性环境中运行后台线程

我正在将现有的 python GAE (Google App Engine) 标准环境应用程序迁移到柔性环境。我通读了指南并决定尝试使用 python-compact 运行时,因为尽可能多地重用代码总是好的。

在标准环境应用程序中,我们使用 background_thread.start_new_background_thread() 来生成一堆无限循环线程来永久处理某些后台工作。但是,即使对于一些非常简单的应用程序,我也无法让 start_new_background_thread 在灵活的环境中工作。喜欢这个示例应用程序:github.com/GoogleCloudPlatform/python-docs-samples/tree/master/appengine/background

在云中运行应用程序时,我不断收到以下错误(虽然它在本地运行良好)。

我使用云调试器对其进行了调试,但是在 background_thread.py 中引发异常时,根本没有任何错误消息可用

知道如何使用 python-compact 运行时在灵活的环境中运行长寿命的后台线程吗?谢谢!

0 投票
2 回答
480 浏览

ruby-on-rails - Google AppEngine Ruby 灵活环境是否支持任务队列?

我以前在使用 php runtime 时使用的是 google 提供的 Task Queues。现在我正在切换到红宝石。所以我阅读了 Ruby 运行时的整个文档,并且根本没有提到任务队列。我应该使用像 Requeue 这样的第三方排队系统吗?

0 投票
6 回答
17391 浏览

google-app-engine - gcloud preview app deploy 过程大约需要 8 分钟,这正常吗?

尝试新的灵活应用引擎运行时。在这种情况下,基于 google 提供的 ruby​​ 运行时的自定义 Ruby on Rails 运行时。

整个过程的触发gcloud preview app deploy大约需要 8 分钟,其中大部分是“更新服务”。这是正常的吗?更重要的是,我怎样才能加快速度?

问候,

病房

0 投票
1 回答
126 浏览

google-app-engine - App Engine Flexible 停止正确部署

拥有 GAE 灵活的环境。一直在使用$ gcloud preview app deploy --project myproject.

它通过正确的部署顺序,应用程序显示在 Container Registry 中:https://console.cloud.google.com/kubernetes/images/list?project=myproject.

但该版本从未出现在https://console.cloud.google.com/appengine/versions?project=myproject&moduleId=default,所以我无法激活它。

我检查了日志。没有什么不寻常的。终端响应挂起后:

日志中的最后几行是: