Subversion Repositories Applications.referentiel

Rev

Rev 37 | Rev 39 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 37 Rev 38
Line 51... Line 51...
51
		$donnees['url_action_rafraichir'] = 'afficherInterface';
51
		$donnees['url_action_rafraichir'] = 'afficherInterface';
Line 52... Line 52...
52
		
52
		
53
		// Traitement de l'info sur le code du référentiel
53
		// Traitement de l'info sur le code du référentiel
54
		if (isset($this->referentiel)) {
54
		if (isset($this->referentiel)) {
-
 
55
			$donnees['ref'] = $this->referentiel;
-
 
56
			// Recherche des traitements en attente
-
 
57
			$resultat = $this->traitementDao->getTraitementsEnAttente($this->referentiel);
-
 
58
			if (is_array($resultat)) {
-
 
59
				$donnees['traitements_en_attente'] = $resultat; 
-
 
60
			}
-
 
61
			
55
			$donnees['ref'] = $this->referentiel;
62
			// Recherche des traitements en cours d'éxecution
56
			$resultat = $this->traitementDao->getTraitementsEnCours($this->referentiel);
63
			$resultat = $this->traitementDao->getTraitementsEnCours($this->referentiel);
57
			if ($resultat != false) {
64
			if (is_array($resultat)) {
58
				$donnees['traitements_en_cours'] = $resultat; 
65
				$donnees['traitements_en_cours'] = $resultat; 
Line 59... Line 66...
59
			}
66
			}
60
			
67
			
61
			// Recherche des traitements déjà effectué
68
			// Recherche des traitements déjà effectué
62
			$resultat = $this->traitementDao->getTraitementsTermines($this->referentiel);
69
			$resultat = $this->traitementDao->getTraitementsTermines($this->referentiel);
63
			if ($resultat != false) {
70
			if (is_array($resultat)) {
64
				// Ajout de l'url vers la fiche du traitement
71
				// Ajout de l'url vers la fiche du traitement
65
				foreach ($resultat as &$traitement) {
72
				foreach ($resultat as &$traitement) {
66
					$traitement['url'] = $this->obtenirUrlFicheTraitement($this->referentiel, $traitement['id_traitement']);
73
					$traitement['url'] = $this->obtenirUrlFicheTraitement($this->referentiel, $traitement['id_traitement']);
Line 90... Line 97...
90
	 */
97
	 */
91
	private function ajouterTraitement() {
98
	private function ajouterTraitement() {
92
		if (!isset($this->referentiel)) {
99
		if (!isset($this->referentiel)) {
93
			$this->addMessage("Aucun code de projet de référentiel n'est indiqué (Ex. bdnff).");
100
			$this->addMessage("Aucun code de projet de référentiel n'est indiqué (Ex. bdnff).");
94
		} else {
101
		} else {
95
			// TODO : vérifier qu'il n'y a pas déjà un traitement en cours pour ce projet.
-
 
96
			$resultat_traitement_en_cours = $this->traitementDao->getTraitementsEnCours($this->referentiel);
102
			$resultat_traitement_en_attente = $this->traitementDao->getTraitementsEnAttente($this->referentiel);
97
			if ($resultat_traitement_en_cours) {
103
			if ($resultat_traitement_en_attente) {
98
				$this->addMessage("Un traitement est déjà en cours...");
104
				$this->addMessage("Un traitement est déjà en attente...");
99
			} else {
105
			} else {
100
				$resultat = $this->traitementDao->ajouterTraitement($this->referentiel);
106
				$resultat_traitement_en_cours = $this->traitementDao->getTraitementsEnCours($this->referentiel);
101
				if ($resultat != false) {
107
				if ($resultat_traitement_en_cours) {
102
					$this->addMessage("Le traitement #'$resultat' a été ajouté.");
108
					$this->addMessage("Un traitement est déjà en cours...");
103
					$this->lancerScript();
-
 
104
				} else {
109
				} else {
-
 
110
					$resultat = $this->traitementDao->ajouterTraitement($this->referentiel);
-
 
111
					if ($resultat != false) {
-
 
112
						$this->addMessage("Le traitement #'$resultat' a été ajouté.");
-
 
113
						$this->lancerScript();
-
 
114
					} else {
105
					$this->addMessage("Un problème est survenu lors de la tentative d'ajout du traitement.");
115
						$this->addMessage("Un problème est survenu lors de la tentative d'ajout du traitement.");
-
 
116
					}
106
				}
117
				}
107
			}
118
			}
108
		}
119
		}
109
	}
120
	}
Line 116... Line 127...
116
		$exe = Config::get('chemin_script');
127
		$exe = Config::get('chemin_script');
117
		$script = 'tests';
128
		$script = 'tests';
118
		$projet = $this->referentiel;
129
		$projet = $this->referentiel;
119
		$action = 'tout';
130
		$action = 'tout';
120
		$log = Config::get('chemin_script_log');
131
		$log = Config::get('chemin_script_log');
121
		$commande = "$php -f $exe $script -p $projet -a $action > $log &";
132
		$commande = "$php -d memory_limit=1073741824 -f $exe $script -p $projet -a $action > $log &";
Line 122... Line 133...
122
 
133
 
123
		$message_erreur_tpl = "%s\n.".
134
		$message_erreur_tpl = "%s\n.".
124
			"Il est nécessaire de configurer le lancement du script via une tache dans le cron.\n".
135
			"Il est nécessaire de configurer le lancement du script via une tache dans le cron.\n".
125
			"La commande à lancer est : <code>$commande</code>";
136
			"La commande à lancer est : <code>$commande</code>";