Как автоматически запустить PHP рабочий после развертывания в стандартной среде GAE - PullRequest
0 голосов
/ 27 февраля 2020

В моем файле 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 Сценарий не запускается после развертывания, а запускается только при попадании на указанный URL-адрес .appspot.com.

Я хочу автоматически запустить скрипт после развертывания.

Спасибо.

1 Ответ

1 голос
/ 27 февраля 2020

Если вы хотите, чтобы ваш код запускался автоматически при развертывании приложения, вам нужно указать минимальное количество экземпляров, которые будут запускаться во время развертывания, в противном случае App Engine будет ждать, пока не будет отправлен запрос на URL для запуска экземпляра.

Что вам нужно сделать, это написать свой код вне какого-либо маршрута в вашем main, а затем реализовать автоматическое c масштабирование в вашем app.yaml

Здесь у вас есть пример моего приложения взят из Hello_World образца :

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

Количество экземпляров будет равное числу раз, которое вы хотите, чтобы ваше приложение запускалось при развертывании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...