Demo entry 6869227

Thread de lancement des projections

   

Submitted by jfichoum on Aug 20, 2019 at 11:22
Language: Java. Code size: 1.9 kB.

class ThreadProjections extends Thread {

        public ThreadProjections() {

        }

        @Override
        public void run() {
            List<Execution> listeProjections = executionService.getProjectionsPretes();
            ListIterator<Execution> it = listeProjections.listIterator();
            //On boucle sur chaque projection une à une
            while (it.hasNext()) {
                try {
                    // Si il n'y a pas de projections en cours
                    if (!moduleService.projectionEncours()) {
                        Execution exec = it.next();

                        //Récupère l'id initial de la dispersion
                        ExeDispersion disp = dispersionService.getDispersionProjection(exec.getId());

                        // Si il n'y a pas de projections en cours
                        if (!moduleService.projectionEncours()) {
                            demarrerProjection(exec, disp);
                        }

                        //On laisse le temps à l'ordonnanceur de travailler.
                        TimeUnit.SECONDS.sleep(3);

                        //Tant que la projection n'est pas terminée
                        while (exec.getEtat() != EEtatExecution.TERMINE) {
                            TimeUnit.SECONDS.sleep(10);
                            //Récupère l'état actuel de la projection
                            exec.setEtat(getProjection(exec.getId()).getExecution().getEtat());
                        }
                        //On laisse le temps à l'ordonnanceur de travailler.
                        TimeUnit.SECONDS.sleep(3);
                    }
                }
                catch (InterruptedException ex) {
                    Logger.getLogger(PilotageService.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }
    }

This snippet took 0.01 seconds to highlight.

Back to the Entry List or Home.

Delete this entry (admin only).