特定の時間内にコマンドを実行する回数を制限したいと考えています。私はこれを行う方法を知っていますが、私の方法はきちんとしていません。これを達成するためのより良い方法について提案をいただければ幸いです。具体的には、私が扱っているシナリオは次のとおりです。
プログラム Motion を使用して、Web カメラからの画像を監視および記録しています。プログラムは画像を保存し、モーションが検出されるたびにコマンドを実行します。実行したいコマンドの 1 つは、モーションが検出されたときに電子メールを送信する単純なコマンドです。このコマンドは 1 秒間に複数回実行される可能性があるため、問題が発生します。これにより、非常に短期間に数千通の電子メールが送信される可能性があります。私が欲しいと思うのは、次のような手順です。
on motion detected
Has it been more than 1 minute since motion was last detected?
If it has, send a notification e-mail.
If it has not, don't send a notification e-mail.
その手順を 1 つのきちんとしたコマンドにまとめたいと思います。私の現在のアプローチには、一時ファイルの保存が含まれますが、これは最も適切な方法ではないと思われます。
これについて考えてくれてありがとう!