問題タブ [job-scheduling]

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 投票する
1 に答える
1824 参照

cron - 営業日の CPanel Cron Job 設定

私は cron ジョブに不慣れで、月曜日から金曜日の午前 9 時に 1 日 1 回など、週末には実行されない cron ジョブを作成したいと考えていました。フォーマットについてはよくわかりません。提案や助けをお願いします。

ありがとう

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

c# - ジョブスケジューラのポーリングの代替

ここではジョブサーバーが必要で、現在Quartz.netで遊んでいますが、自分で作成するというアイデアは魅力的です。少なくとも、Quartz.netが裏で何をしているのかを理解することは、Quartz.netをより効果的に使用するという私の理解/チャンスを損なうことはありません。

だから私の質問は、ポーリングなしでスレッドでジョブを取得して起動する方法についてです。解雇する必要のあるジョブがないか「ジョブストア」を2分ごとにチェックすると、約2分の遅延が発生する可能性があります。ポーリング時間を短縮すると、ジョブストアの負担が増大しますが、それでも実際の開始時刻は取得されません。次の2分間のセグメントでジョブをプリロードし、残りの時間スレッドをスリープ状態にして、適切な時間にスレッドを開始することができますが、ポーリング時間が長い場合(削除、再スケジュールなど)、それは厄介で問題が発生しやすいようです。クォーツを分析してそれがどのように行われるかを理解しましたが、基本的な何かが欠けているのではないかと思いました。

編集:

最初に説明したKevinのようなスレッド構造は、ジョブサーバーを実行する方法のようです。最小限のオーバーヘッドで最大限の柔軟性を提供します。スレッドはほとんどの人が(たぶん私だけで)作業するのに非常に重要なので、より単純なポーリングの例では、柔軟性が失われ、オーバーヘッドが増えるという犠牲を払って、ケースの90%で作業が完了します。

反対に、単一のジョブが実行されてシングルスレッド化されていない限り、とにかくスレッド化を処理する必要があります。完全なイノシシに行き、信号を理解することもできます。

また、ポーリングデータベースの例で無料で入手できると主張しているものは実際には無料ではないというKevinにも同意します。スレッド化/待機中のアプリの場合と同じようにコーディングします。ポーリングデータベースのジョブサーバーがジョブの途中で爆発した場合はどうなりますか?どちらも、災害が発生した場合に状態を追跡するために、耐久性のあるストレージに依存しています。

'jobstore'を抽象化のレベルに移動し、それが通常のACID(正しい用語?)データベースに基づいていない場合はどうなりますか?今、あなたの「無料」のものの多くが基づいていたと私が信じているものは、もはや利用できません(トランザクション?)。

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

grails - grailsフレームワークのQuartz-JobでcreateLink()メソッドを使用していますか?

次のように、grails の Quartz-Job にリンクを作成したいと考えています。

しかし、実行時には次のような例外しか得られません

org.quartz.JobExecutionException: メソッドの署名がありません: packagename.RefreshStatsJob.createLink() は引数の型に適用されます: (java.util.LinkedHashMap) 値: [[controller:auto, action:show, id:1]]

このクラスでリンクを作成するにはどうすればよいですか? どのパッケージをインポートする必要がありますか?

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

java - 実行順序のスケジューリングにグラフ理論を使用する方法は?

一連のプラグインを実行するアプリケーションを設計しています。プラグインの実行は、別のプラグインの実行に依存する場合と依存しない場合があります。つまり、一部の (すべてではない) プラグインは、実行を開始する前に他のプラグインが実行されることを期待しています。

依存しているプラ​​グインの前にプラグインが実行されないように、正しい実行順序を導き出す必要があります。

グラフ理論を使用してこれを解決できると思います (プラグインを頂点として、依存関係をエッジとして、何らかのトラバーサルを使用して実行順序を導出します)。

アプリケーションは Java で開発されているため、JGraphT を使用する予定です。

ケースを解決するためのヘルプまたはポインター??? Javaコード全体を期待しているわけではありません.グラフ理論(使用するアルゴリズム)に関するポインタはすべて同様に役立ちます....

ありがとう !!!

[解決策:] @Artium は解決策につながります。このリンクは非常によく似た実装を示しています。

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

mysql - mysql ではないジョブ ストレージ エンジン?

私はサイトで多くのバックエンドの仕事をしています。これらのジョブの結果とすべての中間ステップを保存するためにmysqlを使用しています。ジョブは、mysql が起動しているかどうかに関係なく完了できます。問題は、任意の時点で mysql が失敗すると、実行中のジョブの状態が台無しになり、その結果が役に立たなくなることです (さまざまな場所にエンコードされたファイルがあるため)。

中間データと最終結果をmysqlへのバックアップとして保存するために使用できる分散ストレージエンジンのようなものはありますか?

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

php - Cron スクリプトを毎日実行するように設定する方法

1 日に 1 回実行したい PHP ファイルがあります。これを行うには、CRON ジョブを設定する必要があることを知っています。私の理解では、Web ホスト内で CRON ジョブをセットアップする方法があるはずですが、これがどこにあるのかわかりません。CRON ジョブについて私が目にするものはすべて、ローカル コンピューターからの実行に関係しています。ここでミッシングリンクは何ですか?ファイル名をフォーマットするにはどうすればよいですか? また、これがどのように行われるかに関するその他の関連情報は大歓迎です。

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

php - PHPで将来イベントをトリガーするにはどうすればよいですか

データベース内の電話番号に音声メッセージをブロードキャストする PHP アプリケーションを作成しました。

ここで、「スケジュール」機能を追加したいと思います。これは基本的に、管理者が特定の音声ファイルに将来の日時を設定できることを意味します。ボイス メッセージは、まさにその日時にブロードキャストされます。

これをどのようにコーディングできますか?いくつかのコード スニペットは高く評価されます。

ありがとう、アミット

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

nservicebus - NServiceBusを使用して毎日実行するタスクをスケジュールするにはどうすればよいですか?

NServiceBusを使用してタスクをスケジュールするエレガントな方法はありますか?ネットを検索しているときに見つけた方法が1つあります。NServiceBusはスケジューリング用の内部APIを提供しますか?

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

php - 複雑な依存関係を持つタスクのスケジューリング

以前のいくつかのタスクが完了するとタスクが開始するタスクをスケジュールする方法を探しています。

さまざまなソースからデータを収集してデータベースにダンプする数百の「コレクター」プロセスがあります。これらの収集が完了したら(1秒から数分)、データベース内のデータを分析して理解するための一連の「データ処理」プロセスをすぐに開始したいと思います。これらすべてが終了したら、最後のタスクを開始して、要約データの電子メールを送信したいと思います。

現在、Gearmanキューを使用しており、「コレクター」プロセスが完了すると予想されると、タイマーでデータ処理タスクを開始しますが、これは、コレクタープロセスが3分後に終了した場合でも、処理ステップが10分後に開始されることを意味します(またはさらに悪いことに、まだ終了していません)。

理想的には、「プロセスAと(BまたはC)が完了したときにプロセスXを開始する」、「指定したプロセスの95%が完了したとき、または10分が経過したときにプロセスYを開始する」などの特定のルールを指定できます。

プロセスと依存関係は、毎回異なるパラメーターで実行されるため、自動的に作成する必要があります(つまり、毎回同じ計算を行うわけではありません)。

キューやモニターを使って自分でグラフ依存のフレームワークを書くこともできますが、それはすでに解決されているはずのようで、私が説明するようなものを使ったことのある人を探しています。

0 投票する
3 に答える
7979 参照

cron - ユーザーによるアプリケーションでのジョブの頻度を定義する方法は?

ジョブを繰り返し起動する必要があるアプリケーションがあります。しかし(はい、それがなければ簡単だったでしょうが...)ユーザーにアプリケーションでのバックアップ頻度を定義してもらいたいです。

最悪の場合、次のいずれかを選択する必要があります。

  • 毎週、
  • 毎日、
  • 12時間ごと、
  • 6時間ごと、
  • 毎時

最良の場合、crontab式を使用できる必要があります(たとえば、ドキュメントを参照してください)

これを行う方法?最後の実行時間と頻度をチェックし、必要に応じて別のジョブを起動するジョブを1分ごとに起動しますか?マスタージョブによって実行される一種のキューを作成しますか?

手がかり、アイデア、意見、最高の実践、経験は大歓迎です!

編集:Akkaスケジューラを使用してこの問題を解決しました。わかりました。これは設計上の答えではなく技術的な解決策ですが、それでもすべてがうまく機能します。

ユーザー定義の各繰り返しは、実際のジョブを実行するために新しいアクターに期間ごとにメッセージを送信するアクターです。