C# タイムドタスク (I)
真夜中に実行しなければならない動作はたくさんあり、人は毎日待っているわけにはいかないので、夜中の3時にプロジェクトの一時フォルダを掃除するなど、プログラムが望む動作を実行できるようなタイマーを使用しなければならない。タイマーを使えば、時間通りにタスクを実行することが簡単にできます。
タイマーを使うには、タイマーの心臓部であるFluentSchedulerへの参照を追加します。
まず、タイマーのタスクを書きますが、これはこのクラスに書くことで、何かをするときに必要です。しかし、タイマーを動作させるのはこの動作だけではありません。次の画像に示すように、プロジェクトの下に Global.asx というファイルを見つける必要があります。
開くと中にメソッドがあり、2つのステップを行うだけで、1つ目は2つの用途を追加すること、2つ目は時間制限のあるタスクを登録することです。もちろん、使いやすいように複数登録することも可能です。
使用するのは、冒頭で追加したリファレンスFluentSchedulerと、時間指定タスクが格納されるフォルダの2つです
もう一つのステップは、時間指定タスクを登録することです。そのためのコードは、Application_Startというメソッド本体の中に書かれています。
JobManager.Initialize()は、タイムドタスクを登録するためのメソッドです。括弧内のnewは登録が必要な時限タスクの名前で、この名前は先ほど追加した2つのusesのうち時限タスクが格納されているフォルダのもので、時限タスクのために書いたメソッドになります。
登録が完了したら、作成したタイムドタスクのメソッドにもう少し手を加えて、タイムアウトさせる必要のある操作を書き始める必要があります。ここでも、時間指定タスクのメソッドには、登録時と同じようにFluentSchedulerを追加しておく必要があります。このメソッドを最初に作成したときは、次の図のように内部にクラスが1つだけ存在します。
ここでは、このクラスを FluentScheduler 内の Registry から継承し、この時間指定タスクと同じ名前のメソッドを作成する必要があります。
これで、中に時間制のタスクが書けるようになります。
関連
-
PostionalBindingの役割のCmdletBindingAttribute
-
cenos upgrade g++ gcc(cc1plus: error: unrecognized command line option "-std=c++11")
-
ダブルフリーまたはコラプション(Fasttop)生成
-
ante react Warning index.js:1 Warning: findDOMNode is deprecated in StrictMode.findDOMNode は StrictMode では非推奨です。
-
pythonのpandas_datareaderパッケージの紹介
-
merge into は、あるテーブルの 1 つの列から別のテーブルの列にデータをコピーします。
-
OSError: [Errno 98] アドレスはすでに使用中です。
-
git でブランチをマージする際に発生する「このマージが必要な理由を説明するコミットメッセージを入力してください」エラーの解決法
-
ローカル変数sumが初期化されていない可能性がある
-
VS2019 MFCのデバッグエラーです。C1083 インクルードファイルが開けません。"afxwin.h" を開けません。そのようなファイルやディレクトリはありません
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
gitアップロードファイルのエラーを修正する方法 [rejected] master -> master (fetch first) error: failed to push some refs to '.
-
undefinedErrorお使いのCPUは、このTensorFlowバイナリが使用するためにコンパイルされていない命令をサポートしています。AVX2 FMA
-
リスト解決にリスト("str "ではない)を連結することだけができる
-
unity build when エラー
-
Tensorflowのデータ(next_batch)を読み込む方法は以下の3つです。
-
PL/SQL使用時にORA-06550エラーが発生しました。
-
error: 'struct proc_dir_entry' has no member named 'owner' Solution
-
C# データベース操作エラー この接続に関連する開いているデータリーダーがすでにあり、閉じる必要があります。
-
ValueErrorの解決に成功:解凍するための値が足りない(期待値2、取得値1)
-
STM32でのビットバンド動作