問題タブ [pyinotify]

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 に答える
1036 参照

python - フラスコ「hello world」はデバッグモデルで実行できません

公式ドキュメントに従い、virtualenv とフラスコをインストールしましpython hello.py たが、何か問題があります:</p>

私のこんにちは.py:

しかし、デバッグがなければ大丈夫ですか?なぜ?私の /env/lib/python2.7/site-packages:

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

python - pyinotify でスレッドの問題が疑われる

私は pyinotify を使用してきましたが、フォルダーに複数の変更を加えた後、単に通知の受信を停止するという問題が発生しています。2 つのスレッドが実行されているという事実に関係しているように感じます。つまり、notifier スレッドと wxpython スレッドです。

アプリの目的は、基本的に、IP 接続を検出したときに画像を画面にロードし、ファイル「チェックリスト」のフォルダーを監視し、そのファイルに基づいてファイルを移動するなどの処理を行うことです。

それは断続的に動作しますが、Pythonの初心者であるため、基本的にスレッド化された例を使用して回避したため、問題が何であるか正確にはわかりません。場合によっては、通知が 1 つしかなく、ファイル変更通知の受信が停止することがあります。

さらに、Linuxボックスを再起動して再試行すると、かなりの数のファイル変更に対して機能し、通知の受信が再び停止するため、おそらく時計が適切に解放されていないと思いますか?

どんな助けでも大歓迎です。最適化と改善は大歓迎です。フィードバックから多くのことを学ぶことができたと確信しています。コードは以下です

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

filesystems - カーネルはファイルが閉じられていることをどのように認識しますか

ファイルが閉じられたことをLinuxが認識するメカニズムは正確には何ですか? INOTIFY などのコマンドは、ファイルが閉じられたときに IN_CLOSE_WRITE イベントをトリガーすることを知っています。しかし、それはどのように機能しますか? ファイルを閉じるトリガーは何ですか?

同様に、OS はファイルが開かれたことをどのように認識し、その事実をどこに登録しますか?

0 投票する
0 に答える
440 参照

python - スレッド インスタンス呼び出しイベントの名前を取得する

pyinotify.ThreadedNotifier呼び出し元の EventHandlerの名前を取得する方法を考えていました。

pyinotify.ThreadedNotifier"Thread-1"、"Thread-2" などの名前が自動的に付けられます。

関数を使用して通知者の名前を取得できますが、どの通知getName()者が my を呼び出したのかを調べる方法がわかりませんEventHandler()

調べる方法はありますか?

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

python - ファイルシステム追跡のための最もパフォーマンスの高い無料データベース

私は、Python用のpyinotifyモジュール(実際には、ジョブを実行する背後にあるLinuxカーネル)を使用してLinuxファイルシステム(任意のタイプである可能性があります)を追跡しています。多くのディレクトリ/フォルダ/ファイル(ユーザーが望む限り)が私のアプリケーションで追跡されています。今度は、各ファイルのmd5sumを追跡して、データベースに保存したいと思います(すべての移動、名前変更、新しいファイルなどを含む) 。

データベースは、各ファイルのすべてのmd5sumを格納するための最良のオプションであると思います...しかし、そのための最良のデータベースは何でしょうか?確かに非常にパフォーマンスの高いものです。アプリケーションはGPLになるので、無料のものを探しています。

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

python - pyinotify割り込みcheck_events

タイムアウトが発生する可能性があることはわかっていpyinotify.Notifier.check_events(self, timeout=None)ますが、無期限にポーリングすることをお勧めします。それを中断することは可能ですか?

と呼んNotifier.stop(self)でいますが、から逃げていないようですcheck_events

次の例では、別のスレッドがを呼び出しstopIt()self.notifier.stop()呼び出されますが、「check_eventsisTrue」も「check_eventsisFalse」も出力されません。

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

python - pyinotifyを使用してディレクトリにスプールを作成する最良の方法は何ですか?

作成時にディレクトリ内のすべてのファイルを別のファイルに移動しようとしています。デーモン(実行中のpyinotifyインスタンス)をきれいに停止でき、元のファイルが引き続きorig/spoolディレクトリに作成される可能性があります。

デーモンの再起動後に処理したい。たぶん私はinotifyカーネルキューを利用できますか?

前もって感謝します

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

python - Python、Ubuntu:Dropboxの同期が完了したときにイベントを発生させますか?

同期が完了したら、Dropbox内の特定のフォルダーからファイルを移動するスクリプトを作成しています。

たとえば、「TrashBackup」というフォルダが必要です。このフォルダにデータを入れるとすぐに(同期が完了した後)、サーバーがそれを取得し、Dropboxからファイルシステムの別の場所に移動します(最終的には削除します)。私のラップトップから)。

私はpyinotifyを使用していましたが、問題は、同期がいつ行われたかを知る方法がわからないことです。おそらく本当に大きなファイルの転送が完了する前に、移動してしまう可能性があります。

ファイルが最後に変更されたのはいつかを確認するためにタイマーを設定することを考えていました。20分を超える場合は、先に進んでDropboxから移動します。しかし、それはハックアラウンドのようです。また、1GBのファイルを転送している場合、Dropboxの速度とローカル帯域幅の使用率によっては、運が悪かった可能性があります。

たぶん、.dropbox.cacheフォルダーの監視を開始する必要がありますか?何か案は?

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

ftp - APPE FTP コマンド転送完了検出サーバー側

FTP 経由で着信ファイルを処理するサービスがあります。

Proftpd がインストールされている私の Debian サーバーでは、iNotify イベントを使用して、ファイル転送がいつ完了し、作業を開始できるかを判断しています。

ファイルが書き込まれなくなると、イベントがトリガーされます。

新しい Nikon D4 カメラと WT-5 ワイヤレス トランスミッタが APPE FTP コマンドを使用してファイルを送信することを発見するまで、これは完全に機能していました。

私が読んだことから、APPE FTPコマンドは、最初のチャンクがファイルを作成した後、サーバー上の既存のファイルに追加されるデータチャンクでファイルを送信するようです。

ただし、これにより、接続が閉じるまでファイルが1回ではなく数回通知されるため、いくつかのiNotifyイベントがトリガーされます。

ファイルが完了する前にファイルが処理されるため、処理されるとエラーが発生します。そして、一度処理したファイルは常に削除します。

私のこのサービスは着信ファイルを処理する際に高速である必要があるため、iNotify を使用したこのソリューションが本当に気に入りました。

私の質問は次のとおりです。ファイルサイズを確認したり、最終更新日を比較したりせずに、ファイル転送が実際に完了したかどうかを判断する方法はありますか?

proftpd でこれを行う方法を見つけようとしましたが、役に立ちませんでした。

xferlog は、同じファイルが数回完了したことを示しています。

最後の c は、転送が完了したことを意味します。

そのため、受信ファイルごとにファイルが実際に完了しているかどうかを確認する必要がある場合、実際に完了したファイルの不必要な遅延を意味します。

これは珍しい問題ではないようですが、何も見つかりません。

何か案は?

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

python - pyinotify コードのクリーンアップ smtplib

新しいコーダーはこちら

このコードを少しクリーンアップできることを望んでいます。smtplib をクラスから移動できるようにしたいのですが、pinotify データを含む電子メールを送信する必要があります。私のコードを見るとわかります。非常に冗長です。

データを通知する場合 > ファイルが作成されたデータを含む電子メールを送信する

データを通知する場合 > ファイルが削除されたデータを含む電子メールを送信する

どうすればこれを統合できますか。