如何在部署到 GAE 标准环境后自动启动 PHP worker

How to auto start PHP worker after deployment to GAE standard environment

在我的 app.yaml 文件中,在将文档扔到 https://cloud.google.com/appengine/docs/standard/php7/runtime#application_startup

后,我有以下配置
service: xxxx-xxxx

runtime: php72
entrypoint: php test.php

instance_class: F2
automatic_scaling:
  min_instances: 1
  max_instances: 2

env_variables:
  TEST: "xxxxx"

目录结构

- test.php
- app.yaml

问题:PHP 脚本在部署后没有 运行 但只有 运行 当我点击给定的 .appspot.com URL 时。

我想要的是在部署后自动启动脚本。

谢谢。

如果您希望在部署应用程序时代码为自动运行,您需要在部署期间指定实例的最小数量为运行,否则 App Engine 将等到向 URL 请求启动一个实例。

你需要做的是在你的 main 中的任何路由之外编写你的代码,然后在你的 app.yaml

中实现自动缩放

这里有一个我的应用程序示例,取自 Hello_World sample:

index.php

<?php
echo "hello world!";
syslog(LOG_INFO, 'Authorized access');

  // Handle your warmup logic for your app.
  switch (@parse_url($_SERVER['REQUEST_URI'])['path']) {
    case '/_ah/warmup':
      echo "Warmup successful";
      syslog(LOG_INFO, 'Authorized Warmup');
      break;
    // Other handlers
    // ...
  }
?>

app.yaml

runtime: php72

inbound_services:
- warmup

automatic_scaling:

    min_idle_instances: 2
    min_instances: 2

实例数将等于您希望应用程序在部署时 运行 的次数。