Задание Cron для конечных точек Google Appengine
Мне нравится добавлять работу cron для конечных точек Google Appengine.
Но в документе для конечных точек упоминается, что мы не можем добавить задание cron для конечной точки GAE.
Из документа: Вы не можете вызвать конечную точку Google Cloud напрямую из очереди push-задач или задания cron. Источник конечной точки GAE: http://%20https://cloud.google.com/appengine/docs/java/endpoints/
Есть ли способ добавить задание cron для конечной точки?
Источник Cron: https://cloud.google.com/appengine/docs/java/config/cron
2 ответа
Вам нужно будет разделить логику из вашего метода конечной точки на отдельную функцию или класс.
Затем вы можете вызвать эту отдельную функцию / класс как из стандартного сервлета, так и из обработчика конечных точек - таким образом, и сервлет, и конечная точка вызывают один и тот же код.
Затем в вашем файле web.xml необходимо убедиться, что URL-адрес сервлета, который будет вызываться cron, доступен только для пользователей с правами администратора, а затем в конфигурации cron вы просто указываете cron вызывать URL-адрес, защищенный администратором.
Немного ошибочно, но работает.
Нужно ли вашему cron вызывать один из методов Endpoints? Если да, вам нужно поместить код метода в отдельную задачу (или отдельный обработчик webapp2), который затем может быть вызван как методом cron, так и методом Endpoints.