/ / Aké sú najlepšie spôsoby, ako spustiť veľmi dlhý backround proces z java webovej aplikácie? - java, multithreading, java-ee, web, dlhotrvajúci proces

Aké sú najlepšie spôsoby, ako spustiť veľmi dlhý backround proces z java webovej aplikácie? - java, multithreading, java-ee, web, dlhotrvajúci proces

Ak chcete spustiť skripty (.sh, jar, .py, .pl ...) beží viac ako niekoľko hodín jednoduchým kliknutím na užívateľské rozhranie (napríklad pekná stránka jsf). Aké sú najlepšie metódy na hodenie procesu. Metóda Running.exec (), použitie vlákien alebo niečo iné? Vďaka.

odpovede:

1 pre odpoveď č. 1

Určite nepoužívajte dlho bežiace vlákna vo vnútriwebové aplikácie Java. Odošlite správu s úlohou (ideálne cez frontu (napríklad rabbitmq)) na samostatnú aplikáciu s vlastným súborom vlákien, ktorý potom bude samostatne spracovávať dlho spustené úlohy požadované používateľmi webapp.

Ak váš systém nemá systém na odosielanie správnainštalované a nájdete režijné náklady na správu príliš vysokého a už používate nejaké sql alebo nie-sql alebo akékoľvek úložisko, môžete pravdepodobne prispôsobiť toto úložisko takisto, aby ste sa mohli použiť na komunikáciu medzi webapp a novým samostatným runnerom s dlhými požiadavkami app.