问题标签 [google-app-engine-php]
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.
php - Google App Engine (GAE) - 每分钟为每个用户同时运行相同的任务
我的 PHP 应用程序目前有 2 个用户,部署到 Google App Engine (GAE) 标准环境。我的目标是在一年内拥有多达 100 个用户。
所有用户都执行相同的应用程序代码,但拥有自己的数据库副本。
每个用户每分钟需要与 3 个第三方 API 同步数据。其中一个 API 处理请求和响应的速度很慢。其中一个 API 有一些严格的限制,如果在 60 秒内进行了多个 API 调用,它将在一段时间内阻止访问。
我目前每分钟运行一个 cronjob,它从用户数据库中获取 API 密钥,进行三个 API 调用,然后在第二个用户数据库上重复该过程。这工作正常,但显然不会扩展。
使用 Google App Engine 资源,我制定了以下计划来提高我的应用程序的可扩展性并应对 100 多个用户:
- Cronjob 每分钟执行一次 PHP 脚本。
- PHP 脚本获取服务器上的数据库列表。
- PHP 脚本遍历数据库列表,为每个数据库创建 3 个 GAE 推送任务(即每个 API、每个用户 1 个)。
- 每个推送任务调用处理特定 API 的同步过程的应用程序端点。
我还没有开始编写上述例程,但它似乎在原则上有效。我预见的潜在问题是:
在 PHP 脚本完成创建所有推送任务之前,Cronjob 达到了 1 分钟的执行限制。我认为这不太可能,因为我可以将 100 个任务捆绑到一个 addTasks() 调用中,因此对于 100 个用户,脚本执行时间应该小于 10 秒。
由于执行时间缓慢,任务队列会备份,这意味着 API 调用的频率低于每分钟。这可能会导致一些无法管理的数据同步问题。
用户的任务执行会延迟,但由于 cronjob 每分钟创建新任务,这可能会导致同一用户和同一 API 的多个任务在不到 60 秒的时间内执行,从而阻止对其中一个 API 的访问。
是否有人对上述内容有任何想法,有这种性质的任务队列的经验,或者关于 GAE 推送队列的任何提示可以帮助我吗?
php - 西班牙语 App Engine 标准 PHP 5.5 中的日期
在我的环境(App Engine 标准 PHP 5.5)中,日期的语言有问题。我需要用西班牙语给他们看,但我做不到。在我的本地环境中,它的翻译没有问题,但在生产中它以英文显示日期。
在我的 php.ini 中,我已经放了这个:
在我需要用西班牙语(阿根廷)显示日期的代码中,我尝试了这个:
并以这种方式:
我做错了什么吗?
非常感谢
symfony - Google App Engine 上的 document_root 无法识别
我正在使用灵活的环境配置在 Google App Engine 上运行 Symfony 4 应用程序。
public/index.php
是项目根目录的索引路径。
我定义了一个document_root: public
,但它不被识别。
例如:
https://myproject.appspot.com/返回一个404
.
https://myproject.appspot.com/public/index.php返回一个200
.
它是php文件还是静态资源都没有关系。我必须添加public
到路径才能访问任何内容。当然,期望的行为是public
我的文档根目录。
我的相关部分app.yml
在这里:
这遵循我找到的所有文档。关于如何解决这个问题的任何想法?
php - 在激活应用程序防火墙的情况下从 appengine 发送邮件
我正在使用 PHP 和 appengine 开发一个微服务。我实现了用 sendgrid 发送电子邮件。出于安全原因,防火墙已激活,但随后电子邮件服务不再工作。
我知道防火墙在这种情况下仅用于传入流量,但这是我唯一更改的内容,当然,如果我关闭防火墙,应用程序将正常工作。
更新
appengiene 微服务是从 cron 服务调用的。
google-app-engine - 将 Google App Engine 作为 PHP 命令行运行?
我目前有一个用 PHP 编写的小型 Google App Engine 项目。在传统的 Web 服务器上,我会简单地通过命令行调用这个特定的代码(例如 phpwhat.php)。如果可能的话,我想用 cron.yaml 将它设置为每隔一小时左右运行一次,而不调用 HTTP 请求。你会怎么做呢?
google-app-engine - 自定义环境中的 Google AppEngine Cron 作业
在 App Engine 上运行 cron 作业时遇到问题。
我有一个 App Engine Flex 自定义应用程序正在运行(使用 php:7.0-apache)
我还有一个 URL,我可以调用它来运行我的工作,比如说 myapp.com/cacheupdate.php,当我指向该 URL 时,一切正常,因为缓存已正确更新。
所以我添加了一个 cron 作业:
cron 作业显示在控制台中,但总是出错。所以我在我的 app.yaml 文件中为它添加了一个处理程序:
我尝试了几种不同的方法来指定源 URL,但问题仍然存在。
我假设这里的问题是我正在使用自定义 Docker 映像来构建实例,有没有更好的方法来运行 cron 作业或者我错过了什么?
php - 使用 mysqli 将 PHP 连接到 Google Cloud SQL 数据库时,用户名和密码使用什么?
我知道使用 PHP 从 App Engine 连接到 Google Cloud SQL 的一般语法是:
但是,我不确定用户名和密码。我在这里尝试使用我的实例用户名和密码,以及我的 gmail 用户名和密码。根似乎没有工作。有没有办法找出这些是什么?我读过root是默认的,但我想我不明白。
我可以看到我的连接不起作用(出现 NoConnect() 错误)的唯一另一个原因是我的 yaml 文件可能写错了。目前,我有:
我需要在此处包含 MySQL 用户名和密码吗?
google-app-engine - GAE 邮件发送配额 = 100/天?
我有自己的 G-Suite Business 域和 GAE 中的应用程序,可以向我们的客户发送电子邮件。但是每天限制 100 次发送太低了。
如何将邮件发送配额增加到每天 100 以上?那有可能吗?
感谢您的任何想法。
google-app-engine - Google App Engine 实例的 IP 会以特定的时间间隔自动更改
我有一个非常严重的问题,即我的 App Engine 实例的 IP 会以特定的时间间隔自动更改。所以我的实时应用程序停止工作。请你帮忙,以便我们可以让它再次工作。
现在要解决这个问题,我们必须每次更改 IP 并在 SQL 数据库中手动设置,这不是正确的方法。
提前致谢。