HTTP 経由でトリガーするリンクがいくつかあります。72 時間ごとにトリガーする必要があるリンクの一部。その他は、24 時間ごとにトリガーする必要があります。
MongoDB スケジュール トリガーを使用して、CRON 式を 24 時間ごとにトリガーするように設定し、検証を行ってトリガーを実行できると考えていました。
問題は、各アレイの各リンク間でほぼ 1 時間待たなければならないことです。
私はsetTimeoutに苦労しています。
ループのアイテム間に間隔を空けるための最良の方法について、誰かが私にヒントを与えることができますか? または、より良いアプローチを教えてくれますか?
注: リンクごとに異なる関数を作成することを考えました。しかし、それらが12あるので、サーバーを機能させるためのより良い方法があるのではないかと思います..
if(shouldExecute) {
next.requestsList.forEach((link, index) => {
var loopExecutedTime = new Date();
var response = context.http.post({url: "https://dummyapi.io/data/api/user?limit=1"});
var query = { _id: ObjectId, "requestsList.title": link.title };
var updateObj = { $set: { "requestsList.$.executed" : loopExecutedTime } };
collection.findOneAndUpdate(query, updateObj);
});
}