Используйте модули App Engine для запуска задания cron в классе экземпляра F1 - PullRequest
0 голосов
/ 25 марта 2019

У меня частая работа cron в моем приложении на стандартном движке приложений Google, и он использует тонны часов для выполнения быстрой задачи.Я обнаружил, что проблема часов экземпляра исчезнет, ​​если я переключу приложение на F1 в app.yaml, но веб-интерфейсу требуется больше энергии (используется F4_1G).

Похоже,простое решение - использовать Модули App Engine для запуска задания cron на F1, оставляя остальную часть приложения на F4_1G, но в документации недостаточно реального кода.Может кто-нибудь показать, как это можно сделать?

1 Ответ

2 голосов
/ 25 марта 2019

На самом деле это не требует изменений кода, это контролируется файлами конфигурации вашего проекта (yaml).

Вы создаете службу (ранее модуль), указав ее в отдельном файле .yaml, развернув службу, а затем сказав, что ваша задача cron запускается на этой службе.

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

Начните с копирования существующего файла app.yaml в файл lightweight.yaml, добавьте (или измените) строку «service», чтобы прочитать «service: lightweight», и обновите приложениеэкземпляр к f1.

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

например, lightweight.yaml:

application: yourapp
service: lightweight
version: 0-4
runtime: python27
api_version: 1
threadsafe: true    

instance_class: F1

handlers:
-  url: /mycronjob
   script: main.app
   login: admin

Затем в вашем cron.yaml укажите службу в качестве вашей цели.

cron:
- description: example
  url: /mycronjob 
  schedule: every 5 minutes
  target: lightweight

Как только это будет сделано, разверните lightweight.yaml и cron с помощью gcloud или appcfg.

После развертывания вашЗадание cron будет выполняться на облегченном сервисе с использованием экземпляра f1.Вы также можете получить доступ к облегченному сервису прямо в своем браузере lightweight.yourapp.appspot.com

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