Đợi một hoặc tất cả các công việc LSF hoàn thành


8

Với Platform LSF , có lệnh nào sẽ đợi một công việc cụ thể hoặc tất cả các công việc đã gửi của tôi hoàn thành trước khi quay lại không? Nói cách khác, tôi đang tìm kiếm LSF tương đương với waitlệnh tích hợp trong bash.

Câu trả lời:


7

Nếu bạn đưa ra -Ktùy chọn bsub, nó sẽ đợi công việc hoàn thành trước khi quay lại. Sau đó, bạn có thể nền một số bsublệnh trong shell và sử dụng waitlệnh của shell để chờ chúng. Thí dụ:

#!/bin/bash
bsub -K -o out.1 sleep 10 &
bsub -K -o out.2 sleep 5 &
wait

1
-K cờ không hoạt động nếu công việc bsub là một mảng
par

1

bwait

Thí dụ:

bsub -J 'myjobname' -o bsub.log bash -c 'date && sleep 10'
bwait -w 'ended(myjobname)'

Việc bwaitchờ đợi cho đến khi tương ứng bsubkết thúc.

Phương pháp tương tự cũng hoạt động cho các mảng công việc -Kkhông được hỗ trợ:

bsub -J 'myjobname[1-40]' -o 'bsub%I.log" 'sleep $JOBINDEX && echo $JOBINDEX'
bwait -w 'ended(myjobname)'

Bên cạnh ended()đó cũng có done()exit(), bwaitchỉ thực hiện thoát thành công nếu trạng thái thoát tương ứng 0hoặc không 0, và nếu không thì thất bại với:

Wait condition is never satisfied

bởi vì LSF có trạng thái công việc khác nhau cho cả hai trường hợp.

Tài liệu liên quan:

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.