Работа 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 КБ)