今はLinux環境でjava cronジョブを実行しています。パティのLinuxコマンドでジョブの開始/停止を行っています。自動的に自動的にスケジュールされます。しかし、私の要件は、UIからSpringのWebアプリケーションのようなcronジョブを制御したいのです。ジョブの開始、ジョブの停止、ジョブの現在の実行状態などです。ライブラリがありますか?提案してください。ありがとうございました。Web appicationからLinuxのJava cronジョブを制御するには?
答えて
あなたはGitHubの上の私たちのQuartzDesk Executor(QE)フリーでオープンソースのアプリをチェックすることもできます。 QEは、スプリングベースのJava Webアプリケーションは、人気のクォーツスケジューラAPIの上に構築され、アウト・オブ・ボックスには、タスク/ジョブの次の種類の実行をスケジュールすることができますされています
- ローカル実行可能なアプリケーションとスクリプト(例:* .sh、* .exe、* .cmd、* bat)。
- リモート実行可能アプリケーションとスクリプト(SSH経由)。
- 外部化されたJava Quartzジョブ。
- JDBCクエリ。
- HTTP(S)POSTリクエスト。
QEはオープンソースなので、拡張して独自のカスタムタイプのジョブを追加できます。
QEは、私たちのQuartzDeskジョブ管理および監視プラットフォームで使用され、追加の機能と適切なGUIを提供します。 QuartzDeskプラットフォームに試してみると、永続的実行履歴、ビジュアルジョブ実行統計、ジョブ実行通知(電子メール、インスタントメッセージ、SNMPトラップ、Webサービス呼び出し)、ジョブチェーンなどが得られます。
QuartzDesk実行されたジョブによって生成されたログメッセージをインターセプトできます。これらのログメッセージは現在実行中のすべてのジョブで表示され、実行中のジョブ(!)を現在確認できます。実行履歴ビューには、完了したすべてのジョブ実行のログメッセージが表示されます。 OS固有のジョブ(シェルスクリプト、実行可能コマンドなど)の場合、QuartzDeskはこれらのジョブによって生成されたメッセージを標準出力およびエラー出力で傍受することができます。
これは、それがQEインスタンスに接続されているものQuartzDesk GUI、であるようになっています。私はその中で、ほぼ同じ要件の一見のために答えている
はい、チェックアウトがあります:http://www.quartz-scheduler.org/
それはあなたが設定する3つのまたは4 SQLテーブルを持っており、彼らは次回に実行されますときにあなたは、すべてのジョブ、それらの状態を一覧表示することができます、など
同じようにクイックルック例:
List<HashMap<String,Object>> jobs = new ArrayList<>();
Scheduler sch = MyScheduler.getScheduler();
for (String groupName : sch.getJobGroupNames()) {
for (JobKey jobKey : sch.getJobKeys(GroupMatcher.jobGroupEquals(groupName))) {
String jobName = jobKey.getName();
String jobGroup = jobKey.getGroup();
List<Trigger> triggers = (List<Trigger>) sch.getTriggersOfJob(jobKey);
Trigger tg = triggers.get(0);
Date nextFireTime = tg.getNextFireTime();
System.out.println("[jobName] : " + jobName + " [groupName] : " + jobGroup + " - " + nextFireTime);
HashMap<String,Object> jb = new HashMap<>();
jb.put("triggerKey", tg.getKey());
jb.put("triggerGroup", tg.getKey().getGroup());
jb.put("triggerName", tg.getKey().getName());
jb.put("nextFireTime", nextFireTime);
jb.put("trigger_state", sch.getTriggerState(triggers.get(0).getKey()));
jobs.add(jb);
}
}
#Pedro Batista、Linux環境からcronを移動するつもりはありません。彼らはそこでしか走らない。 Java Webアプリケーションからそれらを制御する必要があります。これは動作しますか? – NullPointerException
ああ、そうは思わない。クォーツは「cronのような」表現もサポートしていますが、2つは異なっています。 –
- 1. Linuxのジョブ制御 - 端末に制御を戻したい
- 2. LinuxとWindowsで動作するCronジョブ
- 3. 他のcronジョブが終了したらcronジョブを実行するには?
- 4. PHP cronジョブとWebブラウザによるアクセス
- 5. HowTo:ジョブを追加するLinuxまたはUNIXでcronに?
- 6. linuxでcronジョブを追加するには
- 7. CronジョブからのSQLログイン
- 8. Linux/ApacheでバックグラウンドでCronジョブを実行
- 9. フォーク・レール・タスクをバックグラウンド・ジョブにジョブ制御する
- 10. cronジョブは最後のcron実行を強制終了しますか?
- 11. cronジョブからpandas.io.gbqを実行する
- 12. ジョブの状態をユーザーに知らせるための制御
- 13. 個別にプロセス制御のjavaまたはlinuxスクリプト
- 14. Linux CVSアクセス制御
- 15. Azure Webジョブのコントロールパネルロギングを制御および維持する方法は?
- 16. tcp輻輳制御からTCPヘッダーにアクセスするLinuxカーネルモジュール
- 17. 毎週cronジョブ
- 18. Cronジョブを実行する
- 19. LinuxホストからJabra 710 USBスピーカーボリュームを制御する
- 20. cronジョブは、私は5分ごとに実行するcronジョブを持って
- 21. CentOSのrootユーザーの実行から7つのcronジョブをが、ユーザーのapacheからcronジョブは
- 22. laravelアプリケーションでは、linuxサーバーでcronジョブを追加します
- 23. Linuxでcronジョブを使って古いファイルを削除する
- 24. cronジョブがエラー、
- 25. cronジョブ - セレン - org.openqa.selenium.firefox.NotConnectedException
- 26. cronジョブ
- 27. LinuxサーバーのJava Webアプリケーションからローカルパスにアクセスする方法は?
- 28. YARN:ジョブの並行性の制御
- 29. cronは、私はcronジョブを実行するごとに15分
- 30. Javaプログラムを使用してWebブラウザを制御する
http://stackoverflow.com/questions20546403/spring-scheduler-change-cron-expression-dynamically/40692784#40692784> –
私は同様の要件このをご覧ください –
http://stackoverflow.com/questions/20546403/spring-scheduler-change-cron-expression-dynamically/40692784#40692784 私はすでに同じ要求のために答えました –