問題タブ [lockfile]
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.
javascript - npm分度器xlsxファイルの待機と再試行
複数の機能を備えた分度器を実行しようとしています (差分バージョンで約 30 のブラウザー)。各実行後、xlsx 行は「USED」であることが更新されます。
私はExceljsを使ってフラグを書きます。ただし、別のプロセスによって既に使用されている/開かれている場合は、エラーがスローされます。私は例外を処理しましたが、失敗する代わりに、マルチプロセスが待機してファイルへのアクセスを再試行するようにします。
1 つの xlsx を複数のプロセスで同時に読み取り/書き込みする方法を提案してください。処理されたプロセスは、前のプロセスがアクセスを完了するまで待機する必要があります。
書き込み機能:
関数の読み取り: (exceljs を使用した読み取りは簡単です)
node.js - さまざまなサーバー nodejs でファイルをロックする
サーバーのインスタンスが複数あります。ファイルの同期用に s3 マウントされた場所があり、それらのファイルを一度に 1 つずつ更新する必要があるため、そのファイルをロックして、他のインスタンスがそのファイルで動作できないようにする必要があります。働く。
LOCK用のnodejs npmは、すべてのインスタンスではなく、サーバー内でのみ適切に機能します。
これに対する回避策はありますか?
python - Python でロガーを無効にする DaemonContext で pidfile を定義する
ログを使用してファイルへのログ オプションを使用して、python でデーモン サービスを作成しようとしています。pidfile パラメーターを daemon.DaemonContext コンストラクターに追加すると、ロガーはメッセージを logger.log ファイルに記録しません。しかし、そのパラメーターを削除すると、すべてが機能します。エラーなしで実行されます。daemon.DaemonContext の pidfile パラメータがログメッセージを無効にする理由を誰でも知っていますか? どうすればそれを解決できますか?
どんな助けでも大歓迎です。ありがとう
windows - ファイルがフォルダにコピーされていることを検出する
フォルダーが存在しない場合 (または一貫性がない場合)、特定の場所から 1 つのフォルダーをコピーするスクリプトを実行しています。スクリプトを 2 回以上同時に実行すると、問題が発生します。最初のスクリプトがファイルをコピーしようとしているときに、2 番目のスクリプトが来て同じことを試み、混乱を招きます。どうすればこの状況を回避できますか? システム全体のミューテックスのようなもの。
で簡単なテストを試みまし-w
た。フォルダーを手動でコピーし、フォルダーのコピー中にスクリプトを実行しました。
もちろん、これは機能しません。そのフォルダーへの書き込みアクセスがまだ残っているからです。フォルダがコピーされているPerl
か、使用されているかを確認する方法はありますbatch commands
か?
semaphore - 特定のコード ブロックを実行できるスクリプトのコピー数を制限するにはどうすればよいですか?
lockfile
コードを一度に 1 つしか実行できないようにするために使用します。
一度に n 個の同じコードのコピーを実行できるようにするには、どうすればよいですか? ありがとう。
java - I/O タイムアウトに使用するのに最適な例外の種類は何ですか?
期間ジョブが同時に複数回実行されるのを防ぐために、「ロック ファイル」を実装する Java クラスを作成しました。それは基づいてjava.nio.channels.FileChannel.tryLock
おり、非常にうまく機能します。
私のクラスでは、クライアント コードで、ロック ファイルが使用可能になるまで待機する時間を示すタイムアウト値を指定できます。タイムアウトが発生した場合は、IOException
. これも非常にうまく機能します。
しかし、かなり一般的であるため、使用するより良い例外タイプがあるかどうか疑問に思っています。IOException
をキャッチするクライアントコードIOException
は、問題がタイムアウト自体によるものなのか、ファイルシステムの他の問題などによるものなのかを知ることができません(IOException
もちろん、他の問題がサブクラスをスローしない限り)。
Java API をざっと見てみると、候補がいくつかありますが、さまざまな理由からあまり好きではありません。
java.util.concurrent.TimeoutException
(これは実際には「同時」使用法ではありません)java.nio.channels.FileLockInterruptionException
(ドキュメントは、この例外の非常に具体的な理由を示しています; 私の場合とは一致しません)java.nio.channels.InterruptedByTimeoutException
(上記と同様の理由)
助言がありますか?
可能であれば、Java 7 に戻って利用できるものを希望します。
編集
明らかに、カスタム例外クラスは可能ですが、標準 API に適切なものがあるかどうか疑問に思っていました。