問題タブ [file-monitoring]
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.
batch-file - ログファイルディレクトリを監視し、変更が発生したときに電子メールアラートを送信するためのバッチファイル?
サーバーに配置できるバッチ ファイルを作成し、それをタスク スケジューラ経由で毎日実行して、アプリケーションのログ ファイル ディレクトリを監視しようとしています。ログ ファイルの名前が変更された場合 (たとえば、エラー ログが表示される場合)、バッチは管理者または管理者グループに電子メールを送信します。
このタイプのバッチの一般的なスクリプトは何ですか?
ありがとうございました。
python - Pythonでファイルクローズイベントを取得する方法
Windows 7 64ビットマシンでpython 2.7を使用しています。
ファイルクローズイベントを取得する方法:
- ファイルオープナーの新しいプロセスでファイルが開かれたとき(メモ帳、ワードパッドの新しいプロセスで毎回ファイルを開くワードパッドなど)
- ファイルがファイル オープナーのタブで開かれたとき (notepad++ のように、すべてのファイルを新しいタブで開きますが、実行中の notepad++ のプロセスは 1 つしかありません)
では、上記の場合にファイルクローズイベントを取得するにはどうすればよいですか? 共通のコードで上記のケースを達成することは可能ですか? さまざまなファイルタイプを扱っています
python - Pythonでファイルクローズイベントをキャッチする方法
Windows 7 64ビットマシンでpython 2.7を使用しています。ファイルクローズイベントを取得する方法:
- ファイルオープナーの新しいプロセスでファイルが開かれたとき(メモ帳、ワードパッドの新しいプロセスで毎回ファイルを開くワードパッドなど)
- ファイルオープナーのタブでファイルが開かれたとき(notepad ++のように、すべてのファイルを新しいタブで開きますが、実行中のnotepad ++のプロセスは1つだけです)
では、上記の場合にファイルクローズイベントを取得するにはどうすればよいですか? 共通のコードで上記のケースを達成することは可能ですか? 私はさまざまなファイルタイプを扱っています。
ファイルを開くと、特定のプロセスがそれを処理する、このスキームによっても解決できます。また、閉じると、それを制御するすべてのプロセスも失われます。したがって、ファイルが閉じられているかどうかを知ることができます。
これをこのq&aに投稿し、watchdog、pywatch、Watcherで試しましたが、ファイルクローズイベントを取得できませんでした
c# - 開いているファイルの検出 (c# を使用)
みなさん、こんにちは。質問が重複していたらすみません(私の英語はとても下手です)。ユーザーがファイルを開いたときに通知を受ける方法はありますか? 「Opened」イベントを除いて、FileSystemWatcher クラスのようなものはありますか? このファイルを変更または名前変更せずに開いているファイルを検出したいだけです。たとえば、ファイルの名前変更を検出し、開いていることも検出したい
PSフィルターとドライバーについて聞いたことがありますが、c#が私の要求に簡単に対応できることを願っています。
python - Pythonを使用してMac OSXでファイルクローズイベントを取得する方法
osx 10.9 で python 2.7 を使用する
ファイルを閉じるイベントを取得する方法(開いているファイルが赤い十字の上のチェック マークで閉じられた場合):
- ファイルオープナーのタブでファイルが開かれたとき(新しいタブですべてのファイルを開くTextEditのように、実行中のTextEditのプロセスは1つだけです)
- ファイルオープナーの新しいプロセスでファイルが開かれた場合(タブ付きプロパティに従わないファイルオープナー)
では、上記の場合にファイルクローズイベントを取得するにはどうすればよいですか? 共通のコードで上記のケースを達成することは可能ですか? 私はさまざまなファイルタイプを扱っています。MacFSEvents、ウォッチドッグで試しましたが、ファイルクローズイベントを取得しません。
java - 監視サービスと Java EE バッチ処理
環境
巨大な PL/SQL システムを Java に移行するためのソリューションを作成中です。最初のステップは、次のような ETL ジョブを移行することです。
- 複数の ftp / sftp ソースから CSV、XML、(XLS、これは新しい要件です)、および位置ファイルを読み取ります
- データベースに保存されているルールに従ってファイルを処理し、結果をデータベース テーブルに書き込みます。
現在、これはいくつかのストア プロシージャとジョブによって行われています。
私の会社は提案を受け付けています (GlassFish 4 で実行でき、ロギングと接続プールのメカニズム、および管理コンソールを共有できる場合、それはプラスです)。
少し調べてみたところ、次のオプションが目に留まりました。
- Java EE 7 Batch Processingはシンプルに聞こえ、GlassFish 4 に特に適しています。
- Spring Batchはやや成熟しており、Java EE 7 標準 (おそらくそれに基づいていた) に非常に似ています。
- Apache Camelは強力に聞こえ、Apache POI などのライブラリをいじる必要がなくなりますが、やや複雑に見えます。また、それが仕事(巨大なファイルに対するETL)に最適かどうかもわかりません。
- 自分ですべてを調理します。Quartz / Spring Scheduler または EJB タイマーを実行するアプリケーション クライアントを作成できます。
私はまだ提案を受け入れていますが (推奨は素晴らしいでしょう)、これまでのところ、Java EE 7 バッチ処理が最適なようです。
もう 1 つ、インフラストラクチャ チームには、すべての ftp ソースからローカル ディレクトリにファイルを移動するソリューションがあるため、FTP は実際には問題になりません。
問題
私は Java EE バッチ処理に関するいくつかのチュートリアルを読みましたが、そのすべてで、ある種のServlet
またはEJB
タイマーがジョブの開始を担当しています。
Web / EJB プロジェクトを簡単にアップロードして、変更をプールし続けることができました。しかし、私はプッシュモデルについて考えていました:
- アプリケーション クライアントコンソール アプリケーション
- メインクラスは新しいファイルのディレクトリを監視します
- 新しいファイルがあると、新しいジョブが開始されます。
私の疑問は次のとおりです。
- この戦略は可能/推奨されますか?
- 中間に JMS キューまたはある種のプロデューサー/コンシューマー戦略が必要ですか、それとも
jobOperator.start
すべてのファイルを呼び出してバッチ処理レイヤーを信頼してアプリケーション リソースを管理する必要がありますか? 言い換えれば、一度に 1000 個のファイルがフォルダーに配信されjobOperator.start
、1000 回呼び出した場合、GlassFish 4 はある種のスマートなエンキューを行うのでしょうか、n
それともジョブが同時に実行されないように何らかのゲートを作成する必要がありますか?
linux - ループ内で select() を使用してファイルの変更を監視する
ファイルの変更を常に追跡し、それに応じていくつかのアクションを実行するプログラムを作成しようとしています。ループ内でinotifyとselectを使用して、ファイルの変更をブロックしない方法で追跡しています。私のプログラムのファイル追跡部分の基本構造は次のとおりです。
select のマニュアル ページを確認し、select() が戻るたびに fd_set 記述子をリセットしました。ただし、ファイル (input.txt) を変更するたびに、このコードは無限にループします。私はinotifyとselectの使用経験があまりないので、inotifyまたはselectの使用方法に問題があるかどうかは確信しています。ヒントや推奨事項をいただければ幸いです。