Nous avons beaucoup de travaux par lots qui sont aujourd'hui programmés via des expressions cron dans une seule application. Nous aimerions isoler davantage ces travaux et donc les déplacer vers une tâche de cloud printanier.Ai-je besoin d'un processus JVM pour chaque tasktrigger de printemps?
Mais la lecture de la documentation [1], je viens à la conclusion que je dois utiliser un triggertask
(source) qui envoie à son tour un TaskLaunchRequest
à un tasklauncher
(évier) pour enfin lancer le nouveau processus.
Ce moyen (si j'ai une seule tâche/lot) je besoin d'au moins les processus JVM suivants en cours d'exécution pour déclencher un nouveau processus:
- serveur flux
- triggertask (source)
- tasklauncher (lavabo)
OK, le débit serveur et tasklauncher sera partagé pour toutes les tâches à venir, mais triggertask ne peut prendre la définition cron pour une seule tâche et a donc répliqué fo r toute définition de tâche à venir. Donc j'ai besoin d'au moins un "processus de nounou" pour chaque tâche?
vraiment ??? cela ressemble à une énorme surcharge ... De mon point de vue, je m'attendais à ce que la programmation de cron soit une fonctionnalité de base de la définition de tâche, donc la seule chose nécessaire serait le serveur de flux. Est-ce que je comprends bien ou est-ce que j'ai manqué quelque chose? Existe-t-il un moyen plus simple de le faire dans l'environnement des nuages de printemps? J'aime vraiment l'idée d'avoir un serveur de flux démarrant de nouvelles machines virtuelles Java au besoin, mais tous ces processus supplémentaires semblent vraiment être la mauvaise approche.
Si cela devait fonctionner sur CloudFoundry e.g. http://run.pivotal.io alors cela signifie que j'ai un ordonnanceur cron pour un seul travail coûtant mes 35 $/Mth (car Java BuildPack 4.0 Processus JVM avec seulement 512 Mo ne démarrera plus [2]) - c'est une définition cron cher ...
[1] https://github.com/spring-cloud/spring-cloud-stream-app-starters/tree/master/triggertask/spring-cloud-starter-stream-source-triggertask [2] https://www.cloudfoundry.org/just-released-java-buildpack-4-0/
merci beaucoup pour ces détails! Donc, si je comprends bien, à l'avenir, il y aura une intégration native du planificateur, dans notre cas de la CF de toute façon? Y a-t-il un problème que je peux suivre? – domi
Bonjour, @Domi. Pour CF en particulier, il y a un MVP de CF-Scheduler dans les travaux qui aura la capacité de planifier et de lancer des tâches via les API REST de SCDF. L'idée est de définir le langage DSL dans SCDF et d'utiliser l'API REST dans CF-Scheduler pour le programmer pour une date/heure ou un cron. L'équipe de CF-Scheduler cible la version GA en août. Nous prévoyons également d'interagir directement avec le CF-Scheduler (via ses API et la liaison de service) de SCDF. Notre tableau de bord aura la possibilité de fournir des expressions date/heure et cron pour chaque tâche. –