def test_wait_any_terminated(): session_name = generate_random_string() js = JobSession(session_name) ja = js.run_bulk_jobs({'remote_command': '/bin/sleep', 'args': ['5']}, 1, 10, 5, 2) jl = ja.job_list jl_ids = list(map(lambda j: j.id, jl)) print('\nWaiting on termination of any job with id from %s' % jl_ids) j = js.wait_any_terminated(jl) assert (j.id in jl_ids) print('Job %s terminated' % j)
# You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # # See the License for the specific language governing permissions and # limitations under the License. ####################################################################################### # ___INFO__MARK_END__ from drmaa2 import JobSession if __name__ == '__main__': js = JobSession('js-01') print('Created job session: %s' % js.name) d = {'remote_command': '/bin/sleep', 'args': ['10']} print('Running job array using dictionary: %s' % d) begin_index = 1 end_index = 10 step = 2 max_parallel = 2 ja = js.run_bulk_jobs(d, begin_index, end_index, step, max_parallel) print('Submitted job array: %s' % ja) print('Waiting for any job to terminate') jl = ja.job_list j = js.wait_any_terminated(jl) print('Job %s terminated' % j)