Bu işleve sahibim:
var getTexts = new cronJob( '*/1 * * * *', function(){
var viewConformationEmails = "select * from clients";
ibmdb.open(ibmdbconn, function(err, conn) {
if (err) return console.log(err);
conn.query(viewConformationEmails, function(err, rows) {
if (err) {
console.log(err);
} else if (!err) {
console.log("Success")
}
for (var i = 0; i < rows.length; i++) {
// arrayOfNumbers.push(rows[i].NAME)
// arrayOfNumbers.push(rows[i].PHONE_NUMBER)
// arrayOfNumbers.push(rows[i].HOUR)
// arrayOfNumbers.push(rows[i].MINUTE)
var minute = rows[i].MINUTE;
var hour = rows[i].HOUR;
console.log(rows[i])
var stringg = rows[i]["MINUTE"] + " " + rows[i]["HOUR"] + " * " + "* " + "*"
var textJob = new cronJob( stringg, function(){
client.messages.create( { to:'xxx', from:'yyy', body:'Hello! Hope you’re having a good day!' }, function( err, data ) {});
}, null, true);
}
conn.close(function() {
});
});
});
}, null, true)
yapması gereken şey, her 1 dakikada bir cronjob çalıştırmaktır, bu da tüm sonuçları benimkinden alır. clients
masa. Daha sonra her sonuç arasında döngü yapıyorum ve eğer geçerli saatse ve veritabanındaki zamanı hesaplarsa, mesajı gönderir. ancak, günün her dakikasında ilk cronjob'u çalıştırıyor ve sonra etxt'imin 9:15'te gitmesi gerektiğini varsayalım, o zaman oraya yeterince hızlı ulaşamıyor, çünkü hala ilk cronjob itterasyonundan geçiyor. Bu benim tahminim, ama %100 emin değilim ve nedenini anlayamıyorum. Biri yardım edebilir mi?