Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This process can be checked on the client side, with the python API. Since this API is used for checking, the jobs are all generated with the extension '.job0'. The following example checks job generation for all tasks.

Code Block
 defs = ecflow.Defs('my.def') # load file 'my.def' into memory

...


 job_ctrl = ecflow.JobGenCtrl()

...


 defs.check_job_generation(job_ctrl) # job files generated to ECF_JOB

...


 print job_ctrl.get_error_msg() # report any errors in job generation


For brevity the following examples do not show how the 'defs' object. This can be read in from disk as shown above or created directly in python. This example shows checking of job generation for all tasks under '/suite/to_check'

Code Block
 job_ctrl = ecflow.JobGenCtrl()

...


 job_ctrl.set_node_path('/suite/to_check') # hierarchical job generation under /suite/to_check

...


 defs.check_job_generation(job_ctrl) # do the check

...


 print job_ctrl.get_error_msg() # report any errors in job generation


This example shows checking of job generation for all tasks, but where the jobs are generated to a user specified directory. i.e. '/tmp/ECF_NAME.job0

Code Block
 job_ctrl = ecflow.JobGenCtrl()

...

 
 job_ctrl.set_dir_for_job_generation("/tmp") # generate jobs file under this directory

...


 defs.check_job_generation(job_ctrl)

...


 print job_ctrl.get_error_msg()

This example show job checking to an automatically generated temporary directory $TMPDIR/ecf_check_job_generation/ECF_NAME.job0

Code Block
 job_ctrl = ecflow.JobGenCtrl()

...

 
 job_ctrl.generate_temp_dir()

...

 
 defs.check_job_generation(job_ctrl)

...


 print job_ctrl.get_error_msg()