2019: динамические задания cron Google App Engine - PullRequest
0 голосов
/ 29 января 2019

Я разрабатываю службу отчетов (то есть базы данных по электронной почте) для проекта в Google App Engine, естественно, с использованием облачной платформы Google.

Я использую Python и Django, но мне кажется, что это неважнона мой вопрос конкретно.Я хочу, чтобы пользователи моего расписания приложений могли отправлять определенные отчеты cron в определенное время дня.

Я знаю , что вполне возможно при запуске cron на GAE поминутно (используя cron.yaml, так как я использую Python) и предоставляя логику, чтобы определить, какие отчеты нужно запускать в любом представлении, которое я решу сделать, чтобы хрон ударил, но это кажется ужаснымнеэффективно для меня, и, поскольку лучший ответ, который я нашел, предлагает сделать то же самое ( Добавление динамических заданий cron в GAE ), я хотел "обновленное" предложение.

Есть ли вэтот момент времени лучше, чем запускать cron каждую минуту и ​​проверять БД, заполненную записями клиентов, чтобы определить, какой отчет нужно запустить?

Ответы [ 2 ]

0 голосов
/ 29 января 2019

Возможно, вы захотите взглянуть на новую службу Google Cloud Scheduler (в настоящий момент в бета-версии), которая является полностью управляемой службой заданий cron.Это позволяет вам создавать задания cron программно через его REST API.Таким образом, вы можете создать конкретную работу cron для каждого клиента с соответствующим графиком, соответствующим вашим требованиям.

0 голосов
/ 29 января 2019

Учитывая этот предел, я думаю, что НЕТ

В бесплатных приложениях может быть до 20 запланированных задач.В платных приложениях может быть до 250 запланированных задач.

https://cloud.google.com/appengine/docs/standard/python/config/cronref#limits

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

...