1

ジョブを取得して、たとえば Play でステータスを確認する簡単な方法はありますか? 長時間実行されるエンコード ジョブ/ダウンロード ジョブがいくつかあります。場合によってはキャンセルしたいです。

ジョブのリストなどを取得する方法はありますか?

たとえば、1 つのジョブが ProcessBuilder を使用して FFMPEG エンコーダーを呼び出します。このジョブを取得して、必要でない場合はプロセスを強制終了できるようにしたいと考えています (たとえば、間違ったファイルがアップロードされ、完了するまで 1 時間待ちたくない場合など)。そのジョブのハンドルを取得できれば、プロセスも取得できます。

Play 1.2.4 を使用しています

4

1 に答える 1

1

すべてのスケジュールされたジョブを一覧表示する方法については、JobsPlugin.java を参照してください。

現在実行されているタスクを取得するのはもっと難しいですが、 Job クラスをチェックして JobsPlugin.scheduledJobs リストでジョブを見つけ、カスタム Job のメソッドを呼び出してキャンセルするように伝えることができます。

何かのようなもの

for (Job<?> job : JobsPlugin.scheduledJobs) {
    if (job instanceof MyJob) {
      ((MyJob) job).cancelWork();
    }
}

cancelWork はカスタムメソッドです

于 2012-06-25T14:30:00.507 に答える