Aktivovat Batch pouze na jednu instanci serveru

hlasů
0

Mám Nginx loadbalancer před dvou případech tomcat každý obsahuje aplikaci pružina zavazadlového prostoru. Každá žádost na jaře boot spustí dávku, která zapisuje data v databázi. Šarže provádí každý den v 1am. Problém je v tom, že oba případy spustit dávku simultaniously které nechci.

Existuje způsob, jak udržet batchs rozmístěných ve dvou případech a říct kocour nebo Nginx spustit šarži master serveru (a podřízený server nespustí šarži).

Pokud jeden ze serverů se zastaví, druhý server mohl začít partii na jeho účet.

Existuje nástroj na Nginx nebo kocour (nebo nějaké jiné technologie) k tomu, že?

Děkuji předem.

Položena 14/02/2020 v 00:02
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
0

Jarní Batch používá databázi pro své zaměstnání (JobsRepository). Ve výchozím in paměti zdroj dat se používá ke sledování běžících úloh a jejich stav. Ve vašem nastavení, instance 2 jsou (s největší pravděpodobností) za použití jejich vlastní v databázi paměti. Více instancí Spring Batch mohou vzájemně koordinovaně jako shluk a lze spouštět úlohy, zatímco druhý záložní actasa, pokud jobsRepository databáze je sdílená. Za tímto účelem je nutné nakonfigurovat instance 2 používat společný zdroj dat.

Zde jsou některé dokumenty: https://docs.spring.io/spring-batch/docs/current/reference/html/index-single.html#jobrepository

https://docs.spring.io/spring-batch/docs/current/reference/html/job.html#configuringJobRepository

Odpovězeno 14/02/2020 v 03:00
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more