Запуск Google App Engine в виде командной строки PHP? - PullRequest
0 голосов
/ 10 мая 2018

В настоящее время у меня есть небольшой проект Google App Engine, написанный на PHP.На традиционном веб-сервере я бы просто вызывал этот конкретный код через командную строку (например, php what.php).Я хотел бы настроить это с помощью cron.yaml, чтобы он запускался каждый час или около того, не вызывая HTTP-запрос, если это возможно.Как бы вы поступили так?

Ответы [ 2 ]

0 голосов
/ 08 мая 2019

Вы можете сделать это, добавив URL-адрес обработчика, который указывает на ваш скрипт следующим образом:

В вашем app.yaml это будет выглядеть так:

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

Параметр входа разрешит выполнение конечной точки только системными учетными записями Google или чем-то подобным, поэтому ваша точка доступа не будет общедоступной.

Больше информации в ссылке ниже

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

0 голосов
/ 17 мая 2018

Чтобы запланировать задачи с использованием файла cron.yaml, также известного как задания cron, вы можете использовать следующую структуру внутри файла:

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

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

Поместите файл cron.yaml в тот же каталог, что и файл app.yaml (корневой каталог вашего приложения), и перед развертыванием протестируйте его, перейдя в http://localhost:8080/cron. Если это работает, вы можете развернуть приложение с заданием cron, выполнив следующую команду:

gcloud app deploy cron.yaml

Дополнительную информацию о заданиях cron, например, о том, как повторить попытку сбойных заданий cron и защитить или удалить их, можно найти, перейдя по этой ссылке .

...