如何在部署到 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
实例数将等于您希望应用程序在部署时 运行 的次数。
在我的 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
实例数将等于您希望应用程序在部署时 运行 的次数。