あるフォルダの中から定期的にファイルを取得するプログラムを作成しています。
5分おきにcronが起動するような動きなのですが、
前回の処理が5分以上かかっている場合の多重起動を制御したいです。
js
1/** 2 * S3取込バッチ 3 */ 4 5const cron = require('node-cron'); 6const service = require('../services/sample_service'); 7 8module.exports = { 9 /** 10 * cronを起動する 11 */ 12 start_cron: function (timing) { ← 3分おき 13 cron.schedule(timing, () => { 14 this.start(); 15 }); 16 17 start: async function () { 18 service.execute_cron(); ← サービスの中に処理があります 19 }, 20}
調べると起動中のプロセスを拾う、ロックファイルを作成するなどの記事が出てきましたが、
実際に上記のプログラムの中に組み込むにはどうすれば良いかが分かりませんでした。
node-cronモジュールを使った多重起動の制御を方法がお分かりになる方がいらっしゃいましたら、
ご教授お願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/29 10:05