@@ -167,8 +167,15 @@ class Jobs {
167167 if ( typeof ( job . params [ key ] ) == 'string' ) {
168168 job . params [ key ] = this . messageSub ( job . params [ key ] , context ) ;
169169 }
170- }
171- }
170+
171+ // allow special prefixed params to override top-level props
172+ if ( key . match ( / ^ _ x y _ o v e r r i d e _ ( \w + ) $ / ) && job . params [ key ] ) {
173+ var sub_key = RegExp . $1 ;
174+ this . logJob ( 9 , "Overriding job property with param: " + key , { key : sub_key , value : job . params [ key ] } ) ;
175+ job [ sub_key ] = job . params [ key ] ;
176+ }
177+ } // foreach param
178+ } // job.params
172179
173180 // workflows: filter out notes without 'show' prop
174181 if ( job . workflow && job . workflow . nodes ) {
@@ -376,6 +383,9 @@ class Jobs {
376383 // branch off for workflows here
377384 if ( job . type == 'workflow' ) return self . startWorkflow ( job ) ;
378385
386+ // if job was suspended / resumed, we may need to re-choose a server
387+ if ( ! job . server && ! self . chooseJobServer ( job ) ) return ;
388+
379389 // send command to server
380390 var server = self . servers [ job . server ] ;
381391 if ( ! server ) {
@@ -849,6 +859,9 @@ class Jobs {
849859 // skip this entirely for workflows
850860 if ( job . type == 'workflow' ) return true ;
851861
862+ // convert CSV into array if needed
863+ if ( typeof ( job . targets ) == 'string' ) job . targets = job . targets . split ( / \, \s * / ) ;
864+
852865 // gather all server candidates (targets may be groups and/or servers)
853866 ( job . targets || [ ] ) . forEach ( function ( target ) {
854867 if ( self . servers [ target ] ) {
@@ -907,6 +920,9 @@ class Jobs {
907920
908921 this . logJob ( 9 , "Choosing server for job: " + job . id ) ;
909922
923+ // convert CSV into array if needed
924+ if ( typeof ( job . targets ) == 'string' ) job . targets = job . targets . split ( / \, \s * / ) ;
925+
910926 // gather all server candidates (targets may be groups and/or servers)
911927 ( job . targets || [ ] ) . forEach ( function ( target ) {
912928 if ( self . servers [ target ] ) {
0 commit comments