Job Cron sur Google App Engine pour Java

Travail Cron sur Google App Engine pour Java

Dans ce didacticiel, nous allons vous montrer comment créer une tâche de planificateur ou une tâche cron sur Google App Engine, pour Java. Dans GAE, le travail cron utilise la requête HTTP GET pour appeler une URL, la durée du temps d'exécution du travail cron est limitée à 10 minutes seulement, si un excès, GAE tue votre travail.

Pour créer une tâche cron sur GAE, définissez simplement les tâches cron dans un fichier «cron.xml» et placez-les dans le dossier «WEB-INF».

Tutoriel Cron Job

Maintenant, nous allons créer une tâche cron sur GAE et planifier l'appel d'une URL à partir deSpring MVC REST example.

  1. SDK Java de Google App Engine 1.6.3.1

  2. Printemps 3.1.1

  3. JDK 1.6

  4. Eclipse 3.7 + Plugin Google pour Eclipse

1. Contrôleur de printemps

Un simple contrôleur 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 - Page pour afficher les totaux.



    

GAE + Spring 3 MVC REST + CRON Example

Counts : ${total}

2. cron.xml

Créez un «cron.xml» et placez-le dans le dossier «WEB-INF». Cette tâche cron appellera l'URL «/cron/addCount/1» toutes les 1 minutes.

Fichier: cron.xml


  
    /cron/addCount/1
    Add count + 1 every 1 minutes
    every 1 minutes
  

Note
Le format de planification des tâches cron est un format simple de type anglais. Veuillez lire ceGAE scheduler format pour plus de détails.

every N (hours|mins|minutes) ["from" (time) "to" (time)]

3. Sortie

Déployé sur GAE, vous pouvez afficher l'état du travail cron sur la page de l'administrateur d'application.

gae cron example

URL : http://example-springmvc-cron.appspot.com/cron/count, résultat après une minute

cron job on gae

Télécharger le code source

En raison de la grande taille du fichier, tous les pots Spring et GAE sont exclus.

Télécharger -CronJob-GoogleAppEngine-Example.zip (13 KB)