#python #django #google-app-engine #deployment
#python #django #google-app-engine #развертывание
Вопрос:
Я развернул свой проект Django в Google App Engine. Я хочу добавить cronjobs в свой проект Django, и для этого есть классная функция в Google App Engine.
Если я хорошо понимаю, я должен создать функции GET для своих cronjobs в моем views.py . Но как мне сделать их вызываемыми только App Engine и никем другим? Или, может быть, есть лучшее решение для cronjobs в Django?
Комментарии:
1. Это действительно зависит от ваших потребностей — вы должны предоставить больше информации о своем приложении, чтобы дать лучший контекст. AWS предоставляет бесплатный уровень, который был бы хорош для простого приложения «4 fun» и для бесплатного изучения чего-либо. Если вы хотите развернуть что-то, что потребует лучшей производительности (из-за большего трафика или из-за сложности вычислений в вашем приложении), вам следует подумать о чем-то другом, но это зависит от ваших потребностей.
2. @rafaljusiak Я все еще разрабатываю приложение, это не для развлечения, и я пока не знаю, насколько большой трафик я могу исключить.
3. Если вы не знаете, насколько велик будет ваш трафик, вам не стоит беспокоиться об этом на ранней стадии. Я думаю, что в этом случае вы можете попробовать использовать бесплатный уровень AWS (EC2 RDS и S3, если необходимо) — просто потому, что он бесплатный. Если ваш сайт будет слишком медленным для пользователей из-за ограничений сервера, вы всегда можете переключиться на какой-нибудь платный план.
Ответ №1:
Вы можете подтвердить свой запрос, проверив заголовок X-Appengine-Cron
в своей конечной точке. Этот заголовок предоставляется только тогда, когда ваша конечная точка запускается заданиями GAE cron.
Ссылка для ссылки: https://cloud.google.com/appengine/docs/standard/python3/scheduling-jobs-with-cron-yaml#validating_cron_requests