Задание 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.

Другие вопросы по тегам