問題タブ [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.
scala - MongoDB ジョブ ストレージを備えた Scala ジョブ スケジューラ
Mongoにジョブを保存できる、または少なくともMongoをストレージとして使用するように単純に拡張できる、Scalaで使用するための単純なジョブスケジューラを探しています。
誰でも最善の解決策を提案できますか?
javascript - Node.jsとKueを使用して、タスクを実行する日付を指定する方法はありますか?
明らかに、希望する日付までの遅延をミリ秒数に設定できますが、それが実際にはうまく機能しない場合があり、最大整数値が問題になる可能性があります。Kueがそれを実行できない場合は、クライアント向けアプリが使用するメインデータベース、またはおそらく3番目のストアに、離れすぎている日付固有のジョブを保存できます。このプロセス。
更新:これはばかげた質問です、私は頭の中でいくつかの数学をすばやく行い、ひどく失敗しました、私は推測し、そして尋ねました、私は尋ねる前に正確に計算するべきでした。
algorithm - アドホック ジョブ割り当てのためのリソース スケジューリング アルゴリズム
バックエンドサーバーのプールを使用して、さまざまなジョブを処理するシステムを開発しています。着信ジョブ リクエストのリソース割り当てを可能にするアルゴリズムを探しています。
仕事のリストやスケジュールは事前にわかりません。そのため、仕事の依頼を受けて、仕事のリソース割り当てを行う必要があり、事前にすべての仕事の完全な計画を立てることはできません。また、ジョブごとに優先度が異なります。さらに悪いことに、ジョブの正確な実行時間も事前にわかりません。
各サーバーのパフォーマンス/負荷情報をスケジューラに提供するツールをいくつか開発しました。したがって、この情報はスケジューリング目的で使用できます。
これらの要件と制約に基づいて、このような動的/アドホック ジョブのスケジューリング エンジンの開発に役立つアルゴリズムを教えてもらえますか?
java - Quartz ジョブが起動すると、それは新しいジョブ クラスのインスタンスですか?
私は Quartz を初めて使用し、ジョブのライフサイクルについて疑問を持っています。
いくつかのことを行うように構成された単一のジョブがあるとします。
ジョブが起動し、その作業を終了します。再び起動したとき、それは同じインスタンスであるか (おそらくスケジューラによってスリープおよび起動に設定されている)、または新しいジョブ インスタンスであるか (ジョブが終了すると強制終了され、トリガー条件が再び満たされると新しいジョブ インスタンスが作成されます) ?
このような質問をするのは、アプリケーション (クォーツをサポートする Spring 3 mvc) をデバッグするときに、ジョブの新しいインスタンスと、ジョブが起動されるたびに SimpleThreadPool$WorkerThreadRun() が開かれた新しいスレッドが表示されるため、SimpleThreadPool$WorkerThreadRun()スレッドが積み上げられ、終了することはありません。
この動作が問題ないのか、それともメモリがいっぱいになるのか知りたいだけです;-)
誰か説明してもらえますか?前もって感謝します。
linux - bash - 実行するコマンドを別の関数にパイプしようとしてエラーが発生しました
私のbashスクリプトを簡単に並列化できるようにするために、この機能を取得しようとしています。アイデアは単純です。各コマンドを順番に実行する代わりに、実行したいコマンドをこの関数にパイプします。私のためにバックグラウンドでジョブを実行し、ロジスティクスを処理します....しかし、うまくいきません。set -x by where stuff's execute を追加しましたが、実行したいものの周りに奇妙な引用符が表示されているようです...どうすればよいですか?
実行すると、次のような出力が得られます。
algorithm - ジョブ ショップのスケジューリング: どのソリューションを検討する必要がありますか?
開発者が多数の異なるプロジェクトでチームで作業しているソフトウェア会社があるとします。プロジェクトには、割り当てられた開発者の特定のスキルが必要です。私の目的のために、私はそれをシンプルに保ち、これを 1 つのスキル、つまりプログラミング言語に限定したいと考えています。そのため、Java が必要なプロジェクトもあれば、C が必要なプロジェクトもあります。プロジェクトの期間は決まっており、各プロジェクトには 2 人の開発者を割り当てる必要があります。
いつでも、いくつかのプロジェクトが進行中で、新しいプロジェクトが入ってきて、将来のある時点で計画する必要があります。どの開発者がいつ、どのプロジェクトに取り組むべきかのスケジュールを計算したい。
私は最適な解決策を探しているわけではありません (それが可能であれば)。人間のマネージャーが作成できるスケジュールで満足しています。
Resource Constrained Scheduling Problems と Assignment Problems に関する記事を読んだことがありますが、正式な CS トレーニングはほとんど受けていないため、これらの問題のさまざまなバリエーションのすべてのニュアンスをよく理解していません。
私の問題は、ジョブがプロジェクトであり、開発者がマシンであるジョブショップスケジューリングのより単純なバリエーションであると思います。そのため、ジョブには同時に複数のマシンが必要です。実行中のプロジェクトは中止できないため、最初に終了する必要があるという先行制約が 1 つだけあります。
私が読んだすべての可能なソリューションから、私は遺伝的アルゴリズムを使用する傾向があります. 線形計画法の良い結果についても読んだことがありますが、それについてはほとんど知りません。
遺伝的アルゴリズムは、この種の問題に対する実行可能な解決策ですか? または、より良い解決策はありますか?
c# - C# - システム時刻を認識する Windows サービス
ユーザーが指定した時間に特定の機能をオンまたはオフにするWindowsサービスを作成することを考えています(提供する構成ユーティリティを使用)。基本的に、ユーザーは、PC が「仕事専用」モード (Facebook やその他の気を散らすサイトをブロックする) になる特定の時間を指定し、その時間になると、PC は通常モードに戻ります。
「仕事専用」モードを作成する方法はいくつか考え出しましたが、苦労しているのは、いつそのモードに出入りするかを知る方法です。回避できるのであれば、スレッドとタイマーを実際に使用したくありません。それは、非常に多くのオーバーヘッドが発生するように思われるためです。したがって、私が探しているのは、次のいずれかの方法です。
- チェックする何らかの種類の timeChanged() イベントがある場合は、Windows API にフックします。
- 指定された時間にイベントを発生させるために、ある種のビルド済みライブラリを使用する
- 私が思いつかなかった他の方法はエレガントで素晴らしいです
これを行う最良の方法を知っている人はいますか?
node.js - nodejs ジョブ サーバー (多目的)
私はかなり新しく、node.js(PHP開発者としてのバックグラウンド)を知り始めたばかりです。nodejs の例と nodejs Web サイトのビデオを見てきました。
現在、私は動画サイトを運営しており、バックグラウンドで多くのタスクを実行する必要があります。現在、これは php スクリプトを呼び出す cronjobs によって行われます。このアプローチの欠点は、前のプロセスがまだ機能しているときに他のプロセスが開始され、サーバーなどに高い負荷がかかることです。
サーバー上で実行する必要があるジョブは次のとおりです。
- Web サイトからフィードを収集し、mysql データベースに挿入する
- Web サイトからデータを取得する (スクレイピング) (要求に応じて)
- レポート用のデータを生成します。これらは主に、実行する必要がある mysql クエリです。
今後行うべき課題
- ビデオ ビューをログに記録します (ユーザーがビデオ ページにアクセスしたとき) (これは mysql にも記録されます)
- 訪問者のログ全般
- 検索した動画に基づいて広告を表示
ジョブをキューに入れたり、時間ごとにジョブをスケジュールしたり、常に実行したりできるように、URL を呼び出すことができるようにしたいと考えています。
node.js がたどるパスであるかどうかはわかりません。そのため、ここで質問しています。ノードでこれを行う利点は何ですか? ダウンサイト?
node.js のプロは何ですか?
返信ありがとうございます。
shell - 小規模な負荷平準化
やらなければならない一連の仕事があります。ジョブ間の依存関係はありません。これらのジョブをマシンに分散するのに役立つツールを探しています。唯一の制限は、各マシンが一度に 1 つのジョブのみを実行する必要があることです。ジョブのバランスが取れていないため、スループットを最大化しようとしています。私の現在のハッキングされたシェルスクリプトは、マシンごとのジョブキューを事前に構築しているため効率的ではなく、負荷の高いマシンのキューから待機中のマシンにジョブを移動できず、すでにすべてが完了しています。
以前の提案には、やり過ぎのように見える SLURM と、さらにやり過ぎな LoadLeveller が含まれていました。
GNU Parallel は、私が望んでいるものとほぼ同じように見えますが、リモート マシンは SSH を話せません。カスタム ジョブ ランチャーが使用されています (キューイング機能はありません)。私が欲しいのは、ジョブがディスパッチされる直前に、その場でマシンをシェルスクリプトに置き換えることができる Gnu Parallel です。
つまり、要約すると:
- ジョブのリスト + 受け入れ可能なマシンのリスト: スループットを最大化します。可能な限りシェルに近いことが好ましいです。
最悪の場合、bash のロックファイルと一緒に何かがハッキングされる可能性もありますが、もっと良い解決策がどこかにあるはずだと感じています。
instance - Spring Batch:再起動可能な属性は無視されます
毎分実行したいバッチジョブがあります。スケジューラーは計画どおりに毎分ジョブを起動しますが、最初の起動後、同じジョブインスタンスが使用されています。私のItemReaderには、コードが1回実行されるとトリップするフラグがあります。そのため、後続のすべての起動で同じインスタンスが使用されるため、最初の実行後に新しいものは何も読み取られません。
ドキュメント(http://static.springsource.org/spring-batch/reference/html/configureJob.html)を調べたところ、ジョブBeanのrestartable属性をfalseに設定しているとのことでした。これにより、呼び出しごとに新しいインスタンスが強制的に作成されます(セクション4.1.1再起動性)。
これは問題を修正していません。「this.hashCode()」と書き出すと、リーダークラスが呼び出されるたびに同じハッシュIDが取得されます。
再起動可能な属性とその親(SimpleJobの拡張)をジョブに配置しようとしましたが、どちらも役に立ちませんでした。
また、ジョブランチャーのjobParametersにタイムスタンプが追加されているため、各ジョブには一意のパラメーターがあります。これでも修正されません。ジョブ名は常に同じです。
足りないものはありますか?