运行 Google App Engine 作为 PHP 命令行?

Running Google App Engine as PHP Command Line?

我目前有一个用 PHP 编写的小型 Google App Engine 项目。在传统的网络服务器上,我会简单地通过命令行调用这个特定的代码(例如,php whatever.php)。我想将 cron.yaml 设置为每小时 运行 左右,如果可能的话不调用 HTTP 请求。你会怎么做呢?

为了使用 cron.yaml 文件安排任务,也称为 cron 作业,您可以在文件中使用以下结构:

cron:
- description: "running my PHP code"
  url: /your-app-url
  target: your-service
  schedule: every 60 minutes

您可以按照 this syntax.

编辑不同的 cron 字段以方便您使用

cron.yaml 文件放在与 app.yaml 文件相同的目录(应用程序的根目录),然后在部署之前,转到 http://localhost:8080/cron 对其进行测试。如果成功,您可以通过 运行 此命令使用 cron 作业部署应用程序:

gcloud app deploy cron.yaml

您可以找到有关 cron 作业的更多信息,例如如何重试失败的 cron 作业以及如何保护或删除它们,方法是 this link

您可以通过添加一个指向脚本的处理程序 url 来完成此操作,如下所示:

在你的 app.yaml 中它看起来像这样:

handlers:
- url: /mycron
  script: cron.php
  login: admin

登录参数将只允许 Google 系统帐户或类似的东西执行端点,因此您指定的将无法公开访问。

下面有更多信息link

参考:https://cloud.google.com/appengine/docs/standard/php/config/cron#securing_urls_for_cron