Subversion Repositories Applications.referentiel

Rev

Rev 37 | Rev 39 | Go to most recent revision | Show entire file | Regard 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.
102
			$resultat_traitement_en_attente = $this->traitementDao->getTraitementsEnAttente($this->referentiel);
-
 
103
			if ($resultat_traitement_en_attente) {
-
 
104
				$this->addMessage("Un traitement est déjà en attente...");
-
 
105
			} else {
96
			$resultat_traitement_en_cours = $this->traitementDao->getTraitementsEnCours($this->referentiel);
106
				$resultat_traitement_en_cours = $this->traitementDao->getTraitementsEnCours($this->referentiel);
97
			if ($resultat_traitement_en_cours) {
107
				if ($resultat_traitement_en_cours) {
98
				$this->addMessage("Un traitement est déjà en cours...");
108
					$this->addMessage("Un traitement est déjà en cours...");
99
			} else {
109
				} else {
100
				$resultat = $this->traitementDao->ajouterTraitement($this->referentiel);
110
					$resultat = $this->traitementDao->ajouterTraitement($this->referentiel);
Line 105... Line 115...
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.");
106
				}
116
					}
107
			}
117
				}
108
		}
118
			}
109
	}
119
		}
-
 
120
	}
Line 110... Line 121...
110
	
121
	
111
	/**
122
	/**
112
	 * Lance le script d'execution des traitements
123
	 * Lance le script d'execution des traitements
113
	 */
124
	 */
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>";