問題タブ [quartz-scheduler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
325 参照

java - 指定された間隔で任意のコードを呼び出す洗練された方法が必要

OK、Java/Hibernate/Spring/Quartz でゲーム サーバーを実行しています。ゲーム クロックはクォーツ タイマーで時を刻み、問題なく動作します。

ただし、特定の微調整可能な間隔で (リアルタイムではなくゲーム時間で) 発生する必要があることが他にもたくさんあります。

たとえば、24 時間のゲーム時間 (サーバーのクロック乗数に応じて、リアルタイムで約 47 分) ごとに、補給などの 1 日 1 回のさまざまなゲーム アクションが発生します。

さて、現在のシステムはかなり荒削りですが、うまくいきます - 私は基本的にcronであるテーブルをデータベースに持っています - 文字列キー、次のイベントの実行時間、そしてその後の次のイベントまでの時間、分、秒、そして日. タイム ティッカーはそれをチェックし、そのコード (イベント文字列キー) を含むメッセージをキューに送信し、現在の時刻に日、分、秒を追加し、それを次の実行時刻として設定します。

メッセージ リスナーはグロディな部分です。キーをオンにして、そのメソッドの 1 つをヒットします。

これで問題なく機能することがわかりましたが、実際にはうまくいきません。コードの各部分を独自の小さなクラスに含めるには、これに対する解決策は何ですか? これをカバーする設計パターンは何ですか?(確かにあると思います)。いろいろ考えはありますが、意見をお聞きしたいです。

0 投票する
1 に答える
792 参照

java - Quartz スケジューラーがシャットダウンしているときにタスクを実行する必要があります

Quartz がシャットダウンされるときに、特定のデータベース関連のアクティビティを実行する必要があるという要件があります。つまり、スケジューラをシャットダウンするときに、データベースから特定のデータを消去する必要があります。これを達成する方法はありますか?

グーグルで調べていると、スケジューラの現在の状態を判断する方法に出会いました。しかし、このスケジューラのシャットダウン イベントをキャプチャする方法はありますか。

よろしくお願いします、イブ

0 投票する
4 に答える
1293 参照

quartz-scheduler - 毎日5回クォーツリピート実行

Quartz を使用してジョブをスケジュールしています。毎日午前 2 時にジョブを実行し、10 分ごとに 5 回実行を繰り返す必要があります。結果は次のようになります: 2:00 2:10 2:20 2:30 2:40

前もって感謝します。

0 投票する
1 に答える
11766 参照

mysql - 一貫した「SQLException: ロック待機タイムアウトを超えました」のトラブルシューティング

DBとしてMySQL 5.1を使用して、永続的なジョブストアを備えたQuartz 1.6.1を実行しているアプリケーションがあります。このアプリケーションは、Tomcat6 で問題なく起動していました。ある時点で、すべての起動時に次の例外をスローし始めました。

このアプリケーションは、データ ソース接続プーリングに C3P0 を使用して JPA w/Hibernate も利用していることに言及する必要があります。この例外は、JPA がスキーマの更新を終了した直後に常にスローされます。

まず、Quartz 1.6.5 にアップグレードしたところ、例外はなくなりましたが、アプリケーションがフリーズしているように見えます。ログの最後のもの-例外があった場所-は次のとおりです。

何も来ず、webapp はリクエストを処理しません。それらは無期限にハングアップします。

例外の直後にSHOW INNODB STATUSを使用してmysqlコマンドライン クライアントを実行すると、一貫して 2 つの疑わしいトランザクションが表示されます。

この問題をさらに調査する方法についてのガイダンスを探しています。おそらく、これら 2 つのトランザクションの所有者、またはそれらがロックしているリソースを特定できたらどうでしょうか?

更新: qrtz_simple_triggersテーブルのすべての行を問題なく削除しました。次に、 qrtz_triggersテーブルで同じことをしようとしたところ、MySQL クライアントが「ロック待機タイムアウトを超えました」というエラーをスローしました。この時点で、(まだハングしている) アプリケーションを停止し、qrtz_triggersテーブルのすべての行を削除することができました。これが完了すると、アプリケーションを正常に起動できました。

新しい Quartz バグを記録する必要があるようですが、ここで実際に何が起こっているかについて、より多くの情報を提供できるようにしたいと考えています。では、元の質問によると、これらの種類の問題をトラブルシューティングするにはどうすればよいですか?

0 投票する
2 に答える
1257 参照

quartz-scheduler - 「ユーザー」として Quartz.NET ジョブを実行する - パーミッションの問題

シナリオ: 読み取り/書き込みアクセス許可でネットワーク共有にアクセスする必要があるコンソール アプリケーションがあります。手動で実行する場合は問題ありません。

問題: このアプリケーションを自分の Quartz.net サーバーにジョブとして追加すると、共有にアクセスできません。ネットワーク共有のアクセス許可を変更するアクセス権がないため、基本的には自分の Quartz ジョブ、または必要に応じて自分の Quartz サーバーが自分として (または適切な権限を持つユーザーとして) ジョブを実行する必要があります。

これを達成する方法のアイデアはありますか?

ありがとう

0 投票する
5 に答える
8392 参照

quartz-scheduler - 毎分トリガーをスケジュールし、ジョブがまだ実行中の場合はスタンバイして次のトリガーを待ちます

トリガーを毎分起動するようにスケジュールする必要があります。ジョブがまだ実行されている場合は次の分、トリガーは起動せず、チェックするためにさらに 1 分待つ必要があります。ジョブが終了した場合は、トリガーが起動するはずです ありがとう

0 投票する
1 に答える
8787 参照

java - Quartz スケジューラーをスケールする方法は?

多くの良い意見を読んだので、 Quartz スケジューラーを使用する予定です。

私の問題は次のとおりです。システムには常に何千ものトリガーが存在します。ほとんどのトリガーは、1 つのイベントだけを起動して終了します。さらに、割り当て後に多くのジョブをキャンセルしなければならない可能性が非常に高くなります (新しい入力に基づく)。

Quartz はこれに対応できますか? どのジョブストアが推奨されますか? mysql よりも JDBC を使用する予定でした。

追加情報: 私のジョブは、電子メールを送信するか、HTTP ポスト経由で他のサービス (WAN 経由) にデータをポストします。

0 投票する
1 に答える
3011 参照

java - Quartz Scheduler をスタンバイモードにする

Quartz スケジューラーをスタンバイモードにすることができます。この間、すべてのトリガーは実行中のジョブを起動しません。しかし、standby(); の場合はどうなるでしょうか。コマンドは、実行中のジョブ中に表示されます。たとえば、ファイルの書き込み中にあるとしましょう。

例:

*// start() は以前にスケジューラーで呼び出されました

スケジューラー.スタンバイ();

// これで、スケジューラはトリガーを起動しなくなります / ジョブを実行します

// ...

スケジューラー.start();

// これで、スケジューラーがトリガーを起動し、ジョブを実行します*

0 投票する
1 に答える
3291 参照

.net - Quartz.NETサーバーのドキュメント

Quartz.NETをダウンロードすると、コンソールアプリケーションを備えたサーバーコンポーネントが含まれます。

Webサイト、FAQ、およびAPIのドキュメントには、それについて何も記載されていません。

誰かがそれについてもっと知っているか、それに関するより多くのドキュメントをどこで見つけることができるか知っていますか?

ありがとう、パトリック