ノードスクリプトを使用してファイル管理タスクを実行しています。 node-windowsパッケージは、このスクリプトをWindowsサービスとして実行できるようにするために含まれています。私はこのサービスが同じスクリプトの重複したインスタンスを開始したことに気づいたとき、今朝深刻なエラーに遭遇しました。これは非常に悪いことです。両方のスクリプトが同じデータセットを処理しようとしていたため、24時間分のデータが破損し、破損してしまいました。私はWindowsサービスがこのようなことを許可するのを見たことがない。他の誰かがこの問題を抱えていたのですか?ノードWindowsサービスが複数のインスタンスを開始する
0
A
答えて
0
node-windowsインスタンスについての私のコメントを参照してください。
実際の問題は、データの破損であり、node-windowsとは関係ありません。ノードスクリプトにはフォールトトレランスが必要です。具体的には、ファイルロックを実装する必要があります。これは、この厳密なシナリオを防ぐ標準的な方法です。
いくつかのファイルロックモジュールがあります。 lockfileはnpmが使用するものです。 proper-lockfileというもう1つのプロジェクトもありますが、これは若干異なる(よりWindowsフレンドリな)方法で問題を解決します。
関連する問題
- 1. Windowsサービスを開始
- 2. ノードAWS SDKインスタンスを開始する
- 3. WIX 3.5複数のインスタンスWindowsサービス
- 4. COMアウトオブプロセスサーバーが複数のインスタンスを開始する
- 5. Windows 7停止/開始サービス
- 6. asp.net Webアプリケーションから複数のWindowsサービスを開始するには?
- 7. 複数のインスタンスを開始するAWSラムダ関数
- 8. C#プログラムによるWindowsサービスの開始
- 9. Windowsサービスのインスタンスの数
- 10. 自動的に複数のupstartインスタンスを開始する
- 11. スレッドで複数のサービスを開始する
- 12. シェフ:Windowsノードでサービスを再開
- 13. Amazon EC2、Windowsインスタンス。リモートから開始
- 14. 開始時にucrtbase.dllでWindows C++サービスのフォールトが発生する
- 15. WebSphere Libertyは複数のシングルトンEJBインスタンスを開始します
- 16. 重複するWindowsサービス、別の名前と場所 - 開始しません。
- 17. Windowsサービスの開始時にタスクを実行するには?
- 18. Windows Server 2008でMongoDBサービスを開始する際の問題
- 19. リモートからWindowsサービスを開始するWMIのlib
- 20. 同じアプリケーションで2つのWindowsサービスを開始する
- 21. Windows 7サービスからセッション1のプロセスを開始する方法
- 22. NInjectインスタンス化する複数のサービス
- 23. Windowsサービスが「開始済み」とみなされるタイミング
- 24. Linuxアプリケーションのインスタンスが複数インスタンスの実行を開始する理由は何ですか?
- 25. インテントとインスタンスの作成によるAndroidサービスの開始
- 26. Windowsユニバーサルアプリケーション(Windows 10)の複数のインスタンス
- 27. サービスへの複数のアクティビティの開始/バインド
- 28. 着信がサービスを開始する
- 29. Windows CE 6.0サービスでスレッドを開始する
- 30. Windows上でリモートからサービスを開始する2003〜2012
node-windowsは、ユーザーからの何らかの明示的なアクションなしでプロセスの**新しい**インスタンスを開始しません。障害が発生した場合は既存のプロセスを再起動するので、プロセスが正常に終了しないようにする(つまり、正しい終了コード)ことが重要です。そうしないと、プロセスがリムボー状態になる可能性があります。 – Corey