Работа Cron в Google App Engine для Java
В этом руководстве мы покажем вам, как создать задачу планировщика или задание cron в Google App Engine для Java. В GAE задание cron использует запрос HTTP GET для вызова URL-адреса, продолжительность времени выполнения задания cron ограничена только 10 минутами, в случае превышения GAE убивает ваше задание.
Чтобы создать задание cron в GAE, просто определите задания cron в файле «cron.xml» и поместите в папку «WEB-INF».
Cron Job Tutorial
Теперь мы создадим задание cron в GAE и запланируем вызов URL-адреса изSpring MVC REST example.
-
Google App Engine Java SDK 1.6.3.1
-
Весна 3.1.1
-
JDK 1.6
-
Eclipse 3.7 + плагин Google для Eclipse
1. Spring Controller
Простой Spring REST контроллер.
package com.example.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller @RequestMapping("/cron") public class CronController { static int total = 0; @RequestMapping(value="/count", method = RequestMethod.GET) public String getCount(ModelMap model) { model.addAttribute("total", total); return "list"; } //cron job running this @RequestMapping(value="/addCount/{num}", method = RequestMethod.GET) public String addCount(@PathVariable int num, ModelMap model) { total += num; model.addAttribute("total", total); return "list"; } }
File : list.jsp - Страница для отображения общего количества.
GAE + Spring 3 MVC REST + CRON Example
Counts : ${total}
2. cron.xml
Создайте «cron.xml» и поместите в папку «WEB-INF». Это задание cron будет вызывать URL «/cron/addCount/1» каждые 1 минуту.
Файл: cron.xml
/cron/addCount/1 Add count + 1 every 1 minutes every 1 minutes
Note
Формат расписания заданий cron - это простой англоязычный формат. Пожалуйста, прочтите этотGAE scheduler format для более подробной информации.
every N (hours|mins|minutes) ["from" (time) "to" (time)]
3. Выход
Развернутая на GAE, вы можете просмотреть статус задания cron на странице администратора приложения.
URL : http://example-springmvc-cron.appspot.com/cron/count, результат через одну минуту
Скачать исходный код
Из-за большого размера файла исключаются все банки Spring и GAE.
Скачать -CronJob-GoogleAppEngine-Example.zip (13 КБ)