@@ -472,11 +472,14 @@ def check_metrics(self, job):
472472
473473 def trigger_grow (self , trigger , step_name , value ):
474474 """
475- Trigger the job to grow
475+ Trigger the job to grow.
476+
477+ Note that this is more of a static grow - subsequent jobs will be given more
478+ nodes. It doesn't give currently running jobs more.
476479 """
477480 previous = self .workflow .jobs [step_name ]["config" ]["nnodes" ]
478481 max_size = trigger .action .max_size
479- if max_size >= previous + 1 :
482+ if previous + 1 >= max_size :
480483 LOGGER .info (
481484 f"Grow triggered: { trigger .action .metric } { trigger .when } ({ value } ), already >= max size { max_size } "
482485 )
@@ -523,9 +526,13 @@ def trigger_workflow_action(self, trigger, step_name, value):
523526 )
524527 self .complete_workflow ()
525528
529+ # TODO: think about use case / mechanism for dynamic grow.
530+ # It would likely need to be requested by the application.
531+ # Static grow increases subsequent nodes for a job
526532 if trigger .action .name == "grow" :
527533 self .trigger_grow (trigger , step_name , value )
528534
535+ # Static shrink decreases subsequent nodes for a job
529536 if trigger .action .name == "shrink" :
530537 self .trigger_shrink (trigger , step_name , value )
531538
0 commit comments