ファイル作成時間に基づいてスケジュールされたタスクを作成するには?

ファイル作成時間に基づいてスケジュールされたタスクを作成するには?

私が分析を実行しているスーパーコンピュータは、ジョブ管理にSGEを使用し、各ジョブが24時間以上続かないように要求します。そしてこの機能は私に頭痛を与えます。

残念ながら、チェックポイントメカニズムを使用して結果を出力し、スクリプトを再送信するように求められましたqsub myJobScript。プログラムに関する限り、出力ファイルに名前が付けられていると仮定すると、クロック時間が23:30:00に達したとき(IOジョブに30分を提供します)、一時ファイルを出力することは難しくありませ1.00137/U1.00137/p
注:課題を送信すると、いつ開始されるのかわかりません。しかし、起動すると、私のフォルダの下にログファイルがあります。

私の質問は、「新しいファイル」が作成され検出されたときにbashスクリプトを使用して自分のタスクを自動的に送信できることですcrontabatどんなアイデアがありますか?

ベストアンサー1

5分ごとに簡単なスクリプトを実行しますcron。あなたのcrontabは次のとおりです。

*/5 * * * *  /path/to/your/script

スクリプト擬似コード:

IF (lockfile exists) { exit }
create lockfile
IF (old job has not finished yet) { 
    remove lockfile
    exit
}
IF (new job has already been queued) {
    remove lockfile
    exit
}
schedule new task
remove lockfile

バラよりシェルスクリプトのロックは正しいですか?(可能な限り競争条件なしで) 適切にロックする方法を学びなさい。

おすすめ記事