@@ -57,7 +57,7 @@ function getExecutable($itemDao)
57
57
}
58
58
59
59
/** schedule Job (create script and set parameters).*/
60
- function initAndSchedule ($ userDao , $ executableItemDao , $ cmdOptions , $ parametersList , $ fire_time = false , $ time_interval = false , $ only_once = true )
60
+ function initAndSchedule ($ userDao , $ executableItemDao , $ jobName , $ cmdOptions , $ parametersList , $ fire_time = false , $ time_interval = false , $ only_once = true )
61
61
{
62
62
$ componentLoader = new MIDAS_ComponentLoader ();
63
63
$ modelLoader = new MIDAS_ModelLoader ();
@@ -73,6 +73,7 @@ function initAndSchedule($userDao, $executableItemDao, $cmdOptions, $parametersL
73
73
74
74
$ parameters ['cmdOptions ' ] = $ cmdOptions ;
75
75
$ parameters ['creator_id ' ] = $ userDao ->getKey ();
76
+ $ parameters ['job_name ' ] = $ jobName ;
76
77
$ parameters ['parametersList ' ] = $ parametersList ;
77
78
$ parameters ['executable ' ] = $ executableItemDao ->getKey ();
78
79
@@ -130,7 +131,7 @@ public function processScheduledJobParameters($params)
130
131
}
131
132
132
133
$ commandMatrix = $ this ->_createParametersMatrix ($ cmdOptions );
133
- $ tmp = $ this ->_createScript ($ commandMatrix , $ executable , $ ouputArray );
134
+ $ tmp = $ this ->_createScript ($ params [ ' params ' ][ ' parametersList ' ], $ commandMatrix , $ executable , $ ouputArray );
134
135
135
136
$ ouputArray = $ tmp ['outputArray ' ];
136
137
$ script = $ tmp ['script ' ];
@@ -142,20 +143,25 @@ public function processScheduledJobParameters($params)
142
143
}
143
144
144
145
/** create Script */
145
- private function _createScript ($ commandMatrix , $ executable , $ ouputArray )
146
+ private function _createScript ($ parametersList , $ commandMatrix , $ executable , $ ouputArray )
146
147
{
147
148
$ script = "#! /usr/bin/python \n" ;
148
149
$ script .= "import subprocess \n" ;
150
+ $ script .= "import time \n" ;
149
151
foreach ($ commandMatrix as $ key => $ commandList )
150
152
{
151
153
$ command = $ executable ->getName ().' ' . join ('' , $ commandList );
152
- $ command = str_replace ('{{key}} ' , '. ' .$ key , $ command );
154
+ $ command = str_replace ('{{key}} ' , '. ' .$ this -> _generateSuffixOutputName ( $ commandList , $ parametersList ). ' . ' . $ key , $ command );
153
155
156
+ $ script .= "start = time.clock() \n" ;
154
157
$ script .= "process = subprocess.Popen(' " .$ command ."', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) \n" ;
155
158
$ script .= "process.wait() \n" ;
156
159
$ script .= "returnArray = process.communicate() \n" ;
160
+ $ script .= "end = time.clock() \n" ;
157
161
$ script .= "print '-COMMAND' \n" ;
158
162
$ script .= "print ' " .$ command ."' \n" ;
163
+ $ script .= "print '-EXECUTION TIME' \n" ;
164
+ $ script .= "print '%.2gs' % (end-start) \n" ;
159
165
$ script .= "print '-STDOUT' \n" ;
160
166
$ script .= "print returnArray[0] \n" ;
161
167
$ script .= "print '-STDERR' \n" ;
@@ -169,11 +175,28 @@ private function _createScript($commandMatrix, $executable, $ouputArray)
169
175
$ ext = end (explode ('. ' , $ ouput ));
170
176
foreach ($ commandMatrix as $ key => $ commandList )
171
177
{
172
- $ ouputArray [] = str_replace ('. ' .$ ext , '. ' .$ key .'. ' .$ ext , $ ouput );
178
+ $ ouputArray [] = str_replace ('. ' .$ ext , '. ' .$ this -> _generateSuffixOutputName ( $ commandList , $ parametersList ). ' . ' . $ key .'. ' .$ ext , $ ouput );
173
179
}
174
180
}
175
181
return array ('script ' => $ script , 'outputArray ' => $ ouputArray );
176
182
}
183
+
184
+ /** generate suffix output name */
185
+ private function _generateSuffixOutputName ($ commandList , $ parametersList )
186
+ {
187
+ $ return = "" ;
188
+ foreach ($ commandList as $ key => $ command )
189
+ {
190
+ if (isset ($ parametersList [$ key ]) && !empty ($ parametersList [$ key ]))
191
+ {
192
+ $ return = $ return .substr ($ parametersList [$ key ], 0 , 6 )."- " ;
193
+ $ command = str_replace ('" ' , '' , $ command );
194
+ $ command = (string )str_replace (' ' , '' , $ command );
195
+ $ return = $ return .$ command ."_ " ;
196
+ }
197
+ }
198
+ return substr ($ return ,0 ,-1 );
199
+ }
177
200
/** create cmd option matrix*/
178
201
private function _createParametersMatrix ($ cmdOptions )
179
202
{
0 commit comments