2016-11-16 5 views
1

毎日nodejs関数を実行します。私はかなり多くcronジョブではなくnode-scheduleを使用することに決めました。毎日のタスクを実行しているNodejs

質問があります:私は何とか何度も何度も機能を実行していないことを確認する最良の方法は何ですか?私は送信し、私がまだ送らなかったことを確認する前に、ログを読むことによって、私が送信し、再確認するたびにログを保持することでした。私はノードスケジュールが私が言うより頻繁に実行すべきではないが、誰かがスクリプトや何か愚かなものを再起動するかもしれないことを知っている、私は余分な安全をしたい。

注:サーバーへのアクセスが制限されているため、データベースをセットアップできません。

+1

最後に実行したときに記録するたびに、単純なJSONをファイルに書き出すだけです。サーバーの起動時に、そのJSONを読み込んで、最後に実行された時刻を確認します。 – jfriend00

+0

@ jfriend00ええ、そういうことを考えていただけで、ログファイルをチェックしていました(私は常にリクエストとアクションを記録します)。私はこの間違いについて何とか考えているのかどうか疑問に思っていただけです:) – kjonsson

+0

好奇心の虜です:なぜcronを使用しませんか? – mscdex

答えて

2

よくある解決策の1つは、pidファイルをどこかに作成することです。 pidファイルが存在する場合は、プロセスを早期に終了してください。それ以外の場合は、pidファイルを作成し(process.pidを書き込む)、プロセスが終了すると削除します。

関連する問題